![南通大学计算机学院毕设完整版_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/7f70cd02-2093-4ca1-837d-0b75d463bfbb/7f70cd02-2093-4ca1-837d-0b75d463bfbb1.gif)
![南通大学计算机学院毕设完整版_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/7f70cd02-2093-4ca1-837d-0b75d463bfbb/7f70cd02-2093-4ca1-837d-0b75d463bfbb2.gif)
![南通大学计算机学院毕设完整版_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/7f70cd02-2093-4ca1-837d-0b75d463bfbb/7f70cd02-2093-4ca1-837d-0b75d463bfbb3.gif)
![南通大学计算机学院毕设完整版_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/7f70cd02-2093-4ca1-837d-0b75d463bfbb/7f70cd02-2093-4ca1-837d-0b75d463bfbb4.gif)
![南通大学计算机学院毕设完整版_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/7f70cd02-2093-4ca1-837d-0b75d463bfbb/7f70cd02-2093-4ca1-837d-0b75d463bfbb5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 本 科 毕 业 设计题目基于Android的校园智能上网客户端系统的设计与实现 作 者: 金 凯 专 业: 软件工程 指导教师: 王杰华 完成日期: 2015年 6月1日 原 创 性 声 明本人声明:所呈交的论文是本人在导师指导下进行的研究成果。除了文中特别加以标注和致谢的地方外,论文中不包含其他人已发表或撰写过的研究成果。参与同一工作的其他同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 签 名: 日 期: 本论文使用授权说明本人完全了解南通大学有关保留、使用学位论文的规定,即:学校有权保留论文及送交论文复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容。(保
2、密的论文在解密后应遵守此规定)学生签名: 指导教师签名: 日期: 南通大学毕业设计(论文)立题卡课题名称基于Android的校园智能上网客户端系统的设计与实现出题人王杰华课题表述(简述课题的背景、目的、意义、主要内容、完成课题的条件、成果形式等)传统的无线上网方式是通过手机浏览器打开登录界面的方式进行登录,稳定性不高且容易崩溃,而且传统登录方式不稳定,效率低。本课题拟针对南通大学移动互联网络环境设计一个校园智能上网客户端系统以解决这些问题,提高上线、下线的效率,方便通大学子使用CMCC-EDU。在技术方面,本系统采用Android和HTML结合的方式进行实现,采用了最新的网页抓取,信息推送能技
3、术,在保证软件基本功能的基础上还增加了版本更新,消息定向推送,用户信息统计等功能。成果形式:资料翻译、设计和实现系统(含源码)、毕业设计论文。课题来源社会生产实际课题类别毕业设计该课题对学生的要求 熟悉Android系统,对软件开发及对本课题感兴趣,具有初步的项目开发经验和团队合作意识。教研室意见 教研室主任签名:_ _年_月_日学院意见同意立题()不同意立题() 教学院长签名:_ _年_月_日注:1、此表一式三份,学院、教研室、学生档案各一份。 2、课题来源是指:1.科研,2.社会生产实际,3. 其他。3、课题类别是指:1.毕业论文,2.毕业设计。4、教研室意见:在组织专业指导委员会审核后,
4、就该课题的工作量大小,难易程度及是否符合专业培养目标和要求等内容提出具体的意见和建议。5、学院可根据专业特点,可对该表格进行适当的修改。南 通 大 学毕业设计(论文)任务书题目 基于Android的校园智能上网客户端系统的设计与实现 学 生 姓 名 金凯 学 院 计算机科学与技术 专 业 软件工程 班 级 软件111 学 号 1102052019 起 讫 日 期 2015.12015. 6 指导教师 王杰华 职称 副教授 发任务书日期 2015 年 1 月 16 日课题的内容和要求(研究内容、研究目标和解决的关键问题)研究内容:通过对南通大学本校的无线网进行分析,重点分析校内网关和移动网关的数
5、据传输和认证机制,同时对于安卓系统上模拟网络请求的可行性和设计方案进行了深入的探讨和研究。研究目标:设计并且实现一个基于Android的校园智能上网客户端系统。同时能保证应用适配大部分手机,建立一个长期稳定、高效的手机网络客户端。 解决的关键问题:(1)校内网和移动网两个网关连接的问题;(2)移动的CMCC-EDU在南通大学分布不均,网络差异性大的问题;(3)用户的密码在本地安全存储的问题;(4)用手机模拟网络请求时顺利通过两道关口认证的问题。课题的研究方法和技术路线本课题拟采用需求分析、概要设计、详细设计、程序实现相结合的研究方法。将采用分析、设计、实现、调试的研究步骤:首先通过收集相关文献
6、资料,了解安卓系统上模拟网络请求工作的流程知识;然后对所要完成的系统进行需求分析,完成开题报告;在掌握基于Android 的开发技术基础上,借鉴相关开发系统的技术及经验,找出要解决的关键问题,综合运用各种理论知识与技术,动手设计并实现一个功能基本完善的基于Android的校园智能上网客户端系统。对所实现的系统进行调试和系统测试。让学生掌握进行应用软件开发的基本思路。技术路线:先用安卓原始提供的网络技术进行模拟网络通信,之后解决网络通信传参和传值的问题,最后将网络通信技术和实际的模块进行结合,同时增加了加密、网络解析等技术,让程序更加安全健壮。基础条件 1. 软件的开发平台选用Eclipse和A
7、ndroid Studio2. 开发环境是Windows8.13. 软件设计和开发书籍来自校内图书馆4. 开发者对安卓开发体系了解深入5. 第三方服务基于友盟SDK参考文献1 Burnette E. Hello, Android: introducing Google's mobile development platformM. CA: Pragmatic Bookshelf, 2009, 34-122 Rogers R, Lombardo J, Mednieks Z, et al. Android application development: programming with
8、the Google SDKM. VA: O'Reilly Media Inc, 2009, 60-703 Rick Rogers, Jobn Lombardo, Zigurd Meduieks, etc. Android Application Development Programming with the Google Sdk.M. VA: Oreilly Media Inc, 2009, 300-3164 Flanders V, Willis M. Web pages that suck: Learn good design by looking at bad designM.
9、 FL: SYBEX Inc, 1998, 50-525 郭宏志. Android 应用开发详解M. 北京: 电子工业出版社, 2011, 191-1936 李佐彬. Android开发入门与实战体验M. 北京: 机械工业出版社, 2008, 200-2027 刘仙艳. 移动终端开放平台AndroidJ. 信息通信技术, 2011, 4(4): 40-508 李玲玲. 基于 Android 平台在线音乐播放器的研究与实现D. 安徽: 安徽理工大学, 2012, 53-549 王宏坡, 马文芝, 周红. 基于Android的电子书阅读器的设计与实现J. 天津农学院学报, 32(1): 2014,
10、 10-1110 余佳, 黄智超, 蒋端保, 等. 基于 Android 图片文字朗读软件的盲人电子眼J. 软件导刊, 2012, 11(8): 96-9811 陈咪, 刘光灿, 张竹娴. 基于安卓 (Android) 操作系统的手机小游戏开发J. 信息通信, 2012 (4): 112-11312 李培林. 安卓系统的应用及发展趋势展望J. 计算机光盘软件与应用, 2012 (18): 161-16213 杨丰盛. Android应用开发揭秘M. 北京: 机械工业出版社, 2010, 320-40014 孙晓宇. Android手机界面管理系统的设计与实现D. 北京: 北京邮电大学, 200
11、9, 15-1615 王家林. 大话企业级Android应用开发实践M. 北京:电子工业出版社,2011, 29-3216 公磊,周聪. 基于Android的移动终端应用程序开发与研究J计算机与现代化,2008(8):85-8917 孙卫琴Java面向对象编程M. 北京:电子工业出版社,2006, 13-1618 单李旺. Android操作平台的研究与应用D. 天津: 南开大学, 2009, 19-1919 李宁. Android开发权威指南M. 北京:人民邮电出版社2011, 111-111本课题必须完成的任务本课题必须完成的任务:1、 完成校园智能上网客户端系统需求分析。2、 设计并完成
12、基于Android的校园智能上网客户端系统。3、 以论文形式完成基于Android的校园智能上网客户端系统的研发总结。成果形式毕业设计论文、英文资料翻译及相关软件、文档。进度计划起讫日期工作内容备 注2015.12015.3查阅资料,进行调研,明确毕业设计任务,完成开题报告。2015.32015.4基础资料收集,需求分析,概要设计。2015.42015.5系统详细设计,编程实现,系统测试,总结并撰写毕业设计论文。2015.6修改完善论文,并完成最终论文,准备答辩。教研室审核意 见 教研室主任签名: _年_月_日学院意见 教学院长签名: _年_月_日南通大学本科生毕业设计(论文)开题报告学生姓名
13、金凯学 号1102052019专业软件工程课题名称基于Android的校园智能上网客户端系统的设计与实现阅读文献情 况国内文献 15 篇开题日期2015.3.25国外文献 4 篇开题地点南通大学JX03-203一 文献综述与调研报告:(阐述课题研究的现状及发展趋势,本课题研究的意义和价值、参考文献)1.1 研究及背景:随着移动互联网的飞速发展,手机已经成为了每个人的标配,手机承载的意义已经远不止电话通信了。企业和院校已经逐步走向以手机为载体的信息化模式,我们南通大学也在积极的探索数字化校园的建设方案。1.2 本课题的研究价值和意义:通过对于南通大学的校园无线网进行分析,我们发现了现有的无线网认
14、证机制有许多不完善的地方。比如使用复杂,认证速度慢,没有统一的入口,缺乏移动应用。在这个背景下,我对现有目前网络认证机制进行了分析,提出了一套完善的解决方案,这个方案能提高网络的认证速度,并且大大缩短用户从输入用户信息到成功认证的时间。最关键的一点是,本系统是一个独立与web的安卓手机应用,用户只需要安装这个安卓应用就可以简单的进行网络认证和连接操作,十分方便。1.3 参考文献:1 Burnette E. Hello, Android: introducing Google's mobile development platformM. CA: Pragmatic Bookshelf,
15、 2009, 34-122 Rogers R, Lombardo J, Mednieks Z, et al. Android application development: programming with the Google SDKM. VA: O'Reilly Media Inc, 2009, 60-703 Rick Rogers, Jobn Lombardo, Zigurd Meduieks, etc. Android Application Development Programming with the Google Sdk.M. VA: Oreilly Media In
16、c, 2009, 300-3164 Flanders V, Willis M. Web pages that suck: Learn good design by looking at bad designM. FL: SYBEX Inc, 1998, 50-525 郭宏志. Android 应用开发详解M. 北京: 电子工业出版社, 2011, 191-1936 李佐彬. Android开发入门与实战体验M. 北京: 机械工业出版社, 2008, 200-2027 刘仙艳. 移动终端开放平台AndroidJ. 信息通信技术, 2011, 4(4): 40-508 李玲玲. 基于 Androi
17、d 平台在线音乐播放器的研究与实现D. 安徽: 安徽理工大学, 2012, 53-549 王宏坡, 马文芝, 周红. 基于Android的电子书阅读器的设计与实现J. 天津农学院学报, 32(1): 2014, 10-1110 余佳, 黄智超, 蒋端保, 等. 基于 Android 图片文字朗读软件的盲人电子眼J. 软件导刊, 2012, 11(8): 96-9811 陈咪, 刘光灿, 张竹娴. 基于安卓 (Android) 操作系统的手机小游戏开发J. 信息通信, 2012 (4): 112-11312 李培林. 安卓系统的应用及发展趋势展望J. 计算机光盘软件与应用, 2012 (18):
18、 161-16213 杨丰盛. Android应用开发揭秘M. 北京: 机械工业出版社, 2010, 320-40014 孙晓宇. Android手机界面管理系统的设计与实现D. 北京: 北京邮电大学, 2009, 15-1615 王家林. 大话企业级Android应用开发实践M. 北京:电子工业出版社,2011, 29-3216 公磊,周聪. 基于Android的移动终端应用程序开发与研究J计算机与现代化,2008(8):85-8917 孙卫琴Java面向对象编程M. 北京:电子工业出版社,2006, 13-1618 单李旺. Android操作平台的研究与应用D. 天津: 南开大学, 20
19、09, 19-1919 李宁. Android开发权威指南M. 北京:人民邮电出版社2011, 111-111二 本课题的基本内容,预计解决的难题2.1 基本内容本课题将会针对南通大学上网认证系统(web)进行分析,然后提出让其移动化的方案,最终实现一个健壮的移动端上网认证系统。1) 静态登录移动网络2) 动态登录移动网络3) 登录校园网络4) 登出移动网络5) 登出校园网络 2.2 预计解决的难题1) 用户信息加密存储2) 将用户信息传递到网络3) 获取移动网络的动态随机码三 课题的研究方法、技术路线本课题拟采用需求分析、概要设计、详细设计、程序实现相结合的研究方法。将采用分析、设计、实现、
20、调试的研究步骤:首先通过收集相关文献资料,了解安卓系统上模拟网络请求工作的流程知识;然后对所要完成的系统进行需求分析,完成开题报告;在掌握基于Android 的开发技术基础上,借鉴相关开发系统的技术及经验,找出要解决的关键问题,综合运用各种理论知识与技术,动手设计并实现一个功能基本完善的基于Android的校园智能上网客户端系统。对所实现的系统进行调试和系统测试。技术路线:先用安卓原始提供的网络技术进行模拟网络通信,之后解决网络通信传参和传值的问题,最后将网络通信技术和实际的模块进行结合,同时增加了加密、网络解析等技术,让程序更加安全健壮。四 研究工作条件和基础1.软件的开发平台选用Eclip
21、se和Android Studio2.开发环境是Windows8.13.软件设计和开发书籍来自校内图书馆4.开发者对安卓开发体系了解深入5.第三方服务基于友盟SDK五、进度计划起讫日期工作内容2015.12015.3查阅资料,进行调研,明确毕业设计任务,完成开题报告。2015.32015.4基础资料收集,需求分析,概要设计。2015.42015.5系统详细设计,编程实现,系统测试,总结并撰写毕业设计论文。2015.6修改完善论文,并完成最终论文,准备答辩。论文阶段完成日期文献调研完成日期2015.3.17论文实验完成日期2015.5.27撰写论文完成日期2015.6.3评议答辩完成日期2015
22、.6.12指导教师评语 导师签名: 年 月 日教研室意见 教研室主任签名: 年 月 日学院意见通过开题()开题不通过() 教学院长签名: 年 月 日南 通 大 学毕 业 设 计题目:基于Android的校园智能上网客户端系统的设计与实现 姓 名: 金 凯指导教师: 王杰华专 业: 软件工程南通大学计算机科学与技术学院2015年6月南通大学毕业设计(论文)摘 要伴随着社会的高速发展,互联网已经成功的融入了我们的生活之中,而作为互联网终端的智能手机也成为了获取信息的主要工具之一。在高校里,大学生对于智能手机等的移动终端有着强烈的依赖性,因此在移动端进行软件开发成为了当今社会的必然趋势。国内的多所高
23、校也开始紧随移动校园的步伐,纷纷融入了移动互联网浪潮中。南通大学也在近几年逐步构建起了校园网系统,建立了自己的无线网。但因为其无线网认证系统没有手机客户端,所以登录上网不是十分的便捷。在进行了软件需求的确定和分析之后,参照web端的模式开发一个手机认证客户端系统。系统采用了Http协议去发送网络请求,并用Jsoup来解析所需的字段,通过MD5加密方式来加密用户的密码。最终,设计并开发完成了一款方便通大学子连接无线网络的安卓应用。这款应用解决了现有的无线网认证不灵活、出错率高的问题。将现有的认证系统移动化,并且提高了稳定性。在本文的最后,还进行了系统的单元测试,提出了在未来版本迭代中的一些设想,
24、使得本系统更加完善。关键词:Android,校园网,Java,AppABSTRACTWith the rapid development of society, the Internet has been successfully integrated into our lives. Smart mobile has also become one of the main tools for our to access information. Among the colleges and universities, the students rely on smart phones, and
25、 the mobile software development has become an inevitable trend in today's society. Many colleges and universities have begun to follow the pace of mobile campus. They have merged into the mobile Internet wave. Nantong University is gradually built up the campus network system in recent years, a
26、nd set up its own wireless network. But because the system has not a mobile client, it is not very convenient.After thinking about the system and analysis of software requirements, I decided to make the web client to phone client. So I used Http request and used Jsoup to resolve the required fields,
27、 used MD5 encryption to encrypt the user's password. In the end, I designed and completed the development of an easy to connect to wireless networks Android application system for the students of Nantong University. This system solves wireless network authentication is not flexible, high error r
28、ate problem. The system improved the stability of communication. At the end of this paper, I also conducted a unit test, put forward some ideas in future versions of iteration, which will make the system more perfect.Key words: Android, Campus network, Java, App目 录摘 要IABSTRACTII目 录III第一章 概论11.1 课题背景
29、11.2 课题简介11.3 课题的研究目的与意义11.4 论文组织架构2第二章 系统分析42.1 需求分析42.1.1 功能需求42.1.2 健壮性需求42.1.3 软件大小需求42.2 可行性分析42.2.1 经济可行性42.2.2 技术可行性52.2.3 市场可行性5第三章 总体设计63.1 系统结构图63.2 系统模式设计73.3 系统的主要流程图83.4 登录移动网的详细设计图93.5 登录校园网的详细设计图9第四章 关键技术及实现方案114.1 用MD5算法加密用户密码114.2 用GSON进行数据解析114.3 用Jsoup进行HTML文件解析124.4 通过AsyncTask和L
30、oader实现异步任务124.5 用友盟推送来实现消息推送服务124.6 用户反馈服务的设计134.7 采用友盟SDK来实现版本更新功能134.8 用SharedPreferences持久化用户信息14第五章 应用实现155.1 获取移动网页的paramStr155.2 网络通信165.3 执行静态登录移动网175.4 执行动态登录移动网175.5 登录校园网185.6 登出移动网195.7 登出校园网20第六章 版本迭代216.1 简述216.2 用Jsoup代替WebView来解析HTML文件216.3 增加了推送功能216.4 用AsyncTask替换Handler进行网络操作226.5
31、 用友盟的自动更新SDK来提示版本更新226.6 增加了统计用户评论的功能236.7 增加了用户反馈功能246.8 减少了过度绘制25第七章 软件测试267.1 测试的目的与方式267.2 测试登录移动网的功能267.3 测试登出移动网的功能277.4 测试获取随机码的功能277.5 测试登录、登出校园网27第八章 总结与展望298.1 总结298.2 不足和展望29致谢31参考文献32V第1章 概论1.1 课题背景随着现代科技的突飞猛进,移动互联网这个名词已经被我们所熟知,所谓移动互联网就是将互联网和移动通信进行结合的产物。我们现在使用的手机设备就是移动互联网的终端,我们通过我们的手机就可以
32、迅速快捷的接入互联网,接收到各种各样的信息。和互联网一样,移动互联网的意义不应低估.它是人类迈向物联网时代的一个重要步骤。作为移动互联网的重要环节的移动通信技术,在本世纪中从原本的尖端科技变为普通人的日常消费品。伴随着Smart phone、Pad之类的移动手机、平板电脑的兴起,移动互联网的潜力立刻凸显了出来。我们身边的同学、朋友都是人手一手机或多手机,可以预见今后必将是移动应用的天下。移动化的浪潮已经完全席卷了大学校园,无论是微信、微博还是手游都成为了我们不必可少的娱乐方式,于是我们可以看到校园的网络平台将是承载移动应用的重要地基。1.2 课题简介本课题中涉及的应用就是在移动终端Androi
33、d上运行的软件。目前众多基于Android开发的应用大多为新闻,游戏,社交,办公,教育类,且面向的群体基本是成年人,特别为高校师生所做的工具类应用十分少见。通过调研发现,众多高校都会投入一定的资金来构建自己的校园移动客户端,但学生连接学校网络的方式却还仍旧是利用传统的web方式,仍旧没有完全应用化。手机和电脑的操作方式完全不同,手机的屏幕较小,无法完整展示传统的web界面,在手机上的输入也十分不便,没有键盘来的快捷。所以如果登录网络的方式还是用web界面的话,会十分的不便,而且让用户徒增了很多操作。本篇论文将会针对南通大学上网认证系统(web)进行分析,然后提出让其移动化的完善方案,最终实现一
34、个健壮的移动端上网认证系统。在结尾处将会探讨该系统进行单元测试的步骤和在今后的版本迭代过程中的一些问题和愿景。1.3 课题的研究目的与意义目前通大校园网络认证系统有如下问题:(1)登录过程复杂想要通过无线网上网,就必须登录两道关口(一个是移动关口,一个是校园网关口)。我们调查发现,很多同学都是在下课的时候登录无线网刷微博、微信、空间等社交网站。但因为登录的过程不够快速,登录、登出就占用了很多时间,不如用流量来的方便。因此同学们大多在短时间上网时选择流量,而非无线网。这样及增加了用户的流量负担,又让无线网的便捷变得形同虚设。(2)经常因浏览器奔溃而无法下线登录上网后浏览器页面必须常驻后台,而手机
35、系统会根据实际情况来杀死经常不用的后台程序。我们发现低内存的手机经常会因为浏览器被系统杀死而出现断网, 无法下线的情况。(3)用户名、密码不能保存在调研过目前主流的手机浏览器后, 我们发现只有极少的浏览器能保存两道登录关口的密码。也就是说用户登录无线网必须要输入四次数据(移动的账号、密码,学校的账号、 密码)才能上网,大家对此很是不满,没有体现科技以人为本的理念。(4)出错后无法强制下线CMCC-EDU没有提供强制下线的功能,如果出现了浏览器崩溃,手机死机的情况,用户就没有办法强制下线。好在移动有关闭 WIFI 后 15 分钟后自动下线的功能,但学校却没有这个功能,所以很多用户在一段时间内无法
36、再次联网,而且还会白白的损失网络时长。本课题产生的软件会解决上述的所有问题,并且会提供一个更加小巧、健壮的软件供用户使用。软件目前仅仅能为南通大学提供网络认证服务,未来软件应该可以为多所高校提供服务,这样就可以大大减少高校的网络投入,还能让广大师生立刻体验到移动互联网带来的实际好处。1.4 论文组织架构本课题涉及到了一款移动应用的方法面面,所以本文将会从如下部分进行阐述。第1章 ,分析了通大校园网目前的现状,得出了课题的研究背景和研究意义。第2章 ,从需求分析、可行性分析等多方面进行阐述,证明了这个通大校园网这个应用是完全可行的。第3章 ,对整个系统的功能和一些细节进行了设计,主要采用的是流程
37、图和设计图的形式进行体现的。第4章 ,分析软件中涉及到的各种相关知识,对各种知识进行简要叙述。第5章 ,编码实现软件中的各种功能,并且将代码用示意图或流程图进行表现。让读者可以很简单的了解到代码的流程和设计思路。第6章 ,对软件再次分析,解决了如过度绘制等问题。第7章 ,利用测试数据充分的测试本软件,保证最终交付用户的软件能稳定运行。第8章 ,对本文进行总结,探讨了目前软件的优缺点和未来的迭代思路。第2章 系统分析2.1 需求分析2.1.1 功能需求软件要实现CMCC-EDU网络的登录和登出,同时也要实现Ntu关口的登录和登出。需要注意的是Ntu关口的登录和登出必须要在CMCC-EDU登录后才
38、能执行,否则会出错。在登录和登出的过程中,两道关口最好有衔接和提示,能让用户知道目前已经处于什么状态了。软件还应该有强制下线、支持短信动态登录的功能。对于用户输入的用户名和密码应该能加密保存在本地,不应暴露给其他软件,对于已经登录过的用户可以在下次使用是直接点击按钮登录,而不用再次输入用户名和密码。2.1.2 健壮性需求系统应该能保存用户登录或登出的状态,这样即使是软件在后台被清除了也能完成登出功能。在登录和登出时系统应该要能快速接收服务器的响应,等待时间不能过长,如果出现了网络异常,或者是登录出错等情况,也要能立刻告诉用户。同时,如果用户因为不可知的原因而无法登出时,我们也能有重置状态的功能
39、,让软件能进入默认的状态,方便再次登录。2.1.3 软件大小需求因为本软件是手机应用,所以对软件的大小必须要有严格的要求,否则会过多的占用用户的存储空间。软件作者应该运用各种减少Android软件大小的技术和方法,去除无用的代码和资源,压缩打包,并且在版本更新时尽量用增量更新,防止重复下载已有内容。2.2 可行性分析2.2.1 经济可行性因为现在南通大学已经有一套完善的网络服务系统,所以我们的应用程序无须管理后台数据和提供网络支持,这也是移动应用的特点之一,提供入口和服务,而非数据处理。作为客户端的应用程序无须持续的资金支持,多用户并发访问的处理也全部交给服务器,理论上是一次制作,长久使用。但
40、一旦服务器方面发生了变更,客户端必然要进行升级和维护,而且因为它作为终端,所以要处理各种推送和反馈任务,在这些功能上需要一定的资金去购买这些基础服务。和传统软件不同的是,移动市场中会有很多第三方的SDK来提供很多基础服务,并且大多都是免费的。因此,本软件相比传统软件需要的经费少,软件稳定运行时间长,在经济方面的支出在于合理的范围内,因此在经济方面是完全可行的。2.2.2 技术可行性在软件的技术方面,主要是运用了Java、Android、Http通信等方面的技术,这些技术都属于传统的计算机技术,尤其是网络通信层面,已经有了很完善的协议和体系结构。Android系统到目前为止(2015年)已经更新
41、了五个版本,最新的版本是Android5.0,可以说Android已经过了原始的洪荒时期,现在正好处于一个稳定上升的趋势,目前通过网络调研可以发现用户的机型系统都是在Android4.0以上,只要针对性的优化应用,就可以让软件较为稳定的运行在各种不同型号不同系统的手机上。在编译器上,软件选择的IDE是开源稳定的Eclipse软件,它既可以提供完美的编译支持,还可以大大提升开发效率。这里没有选择Android Studio的原因是,在开发时Android Studio还处于Bate版本阶段,不是十分可靠。总之,该软件采用的均是成熟稳定的技术,所以在技术方面完全可行。2.2.3 市场可行性当前通大
42、有数万名师生,其中使用Android手机的就占有一半,并且这个软件是针对当前的网络系统进行制作的,因此软件发布后的潜在用户就接近万名。通过不断的版本迭代,最终软件可以完全符合用户的需求,所以在市场方面有巨大的前景。在软件进入成熟版本后,还会提供一套可以复用的机制,为中国各个高校提供一站式服务,这样既节约了其他高校的开发资金,又可以扩大软件的市场,可所谓前景无限。第3章 总体设计3.1 系统结构图通大校园网应用采用了主流的设计方案,让编码设计变得十分简单高效。图3-1 设计模型示意图应用主要由四部分构成,分别是:应用的界面,逻辑类,数据库,校园网服务器。通过这几部分的协同合作,让整个应用可以稳定
43、高效的运行。(1)应用界面用来展示各个控件,提供用户交互的途径,同时也将事务处理后得到的信息即使的反馈给用户,给用户直观的感受。(2)逻辑类,也就是程序的后台,主要是和数据库、服务器进行通信,对从应用界面传递来的数据进行判断和处理,最终将结果反馈到用户界面上。(3)用户数据对象(数据库)的作用是将用户的各种信息持久化。(4)本应用中用到了多个服务器,其中用户反馈、消息推送服务器是由友盟进行提供,主要用于处理反馈信息和进行消息的即时推送。其余的服务器是由移动和通大先教中心进行提供的。3.2 系统模式设计图3-2 MVP设计模式MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Co
44、ntroller/Presenter负责逻辑的处理。在本次的系统设计中,我采用的是自己研究创造的MVP模式,这种模式的好处是将视图和业务进行了分割,我们的Android程序原本是一个类似于MVC的模式,但是Activity中有很多视图和逻辑的操作,很难将其独立出来,这就产生了视图和逻辑高度耦合,很难扩展和维护。图3-3就是用传统的模式构建的设计图:图3-3 传统模式下的构建图从这个简单应用的设计图来看,Activity中承载了很多很多的操作,它又要做视图和逻辑的连接,又需要做网络的交互,点击按钮后的事件处理也需要它。这种设计是不符合分层原则。虽然用这种方式可以完成一个应用的设计和开发工作,但是
45、很难去做倒适应以后的项目结构和产品改进。所以在实际的项目中,我们完全摒弃了这种看似简单实则复杂的设计方案,最终采用了如下的MVP架构模式:图3-4 MVP下的构建图3.3 系统的主要流程图图3-5 系统主要流程图3.4 登录移动网的详细设计图我们的系统主要的部分就是上图所示的登录、登出移动网和登录登出校园网,这两个模块的流程虽然类似但是在细节之处还是略有不同,图3-6中说明了登录移动网的详细流程。图3-6 登录移动网的流程如果要登录移动网络,我们必须要先请求一个外网的地址,在本系统中我请求的是百度的网址(),需要注意的是这里请求的网址必须是存在的,而且要求是长期稳定存在的。接着服务器会收到我们
46、的请求,然后给我们重定向到一个网页,这个网页虽然对每个用户看起来都是一样的,但是其内部的代码是略有不同的。其中,最大的不同就是每个用户都会得到一个服务器返回的动态随机码,这个码在整个系统中至关重要。在我们解析出这个动态随机码后,我们就可以将其与用户的账号(这里是手机号)等参数进行绑定,绑定后再请求一个API,最后我们就可以得到是否登录成功的提示信息了。3.5 登录校园网的详细设计图图3-7 登录校园网的流程在移动网(CMCC-EDU)认证成功后,我们即可进行校园网的登录操作了。如图3-7所示,登录校园网的流程明显比登录移动网要简单很多。我们只需要将自己的用户信息和一些参数进行绑定,绑定成功后直
47、接请求校园网的服务器即可。在网络请求不超时的情况下,我们最终都能得到响应的结果,根据这个结果我们就可以给用户相应的提示了。第4章 关键技术及实现方案 4.1 用MD5算法加密用户密码MD5可以为我们的用户密码算出一个加密的结果,之后我们可以放心的将其进行网络的传输或者是本地的持久化存储。图4-1 MD5加密目前MD5算法虽然已经有破解的方法,但对于这种加密少量信息的客户端来说,破解得到的信息价值远远低于破解所耗费的精力和时间,所以通大校园网采用MD5算法作为数据的加密算法是符合规范的。4.2 用GSON进行数据解析JSON(JavaScript Object Notation) 是一种轻量级的
48、数据交换格式,它的可读性和xml类似,同时数据量却小于xml。在Google的2015年的I/O大会上还提出了一个基于json的数据交换语言,可见Json已经成为了互联网时代跨平台通信的标准语言。图4-2 JSON解析方案在本套系统中利用的是GSON来解析JSON数据的,因为Gson提供了十分简单方便的方法来解析数据,让我们可以在不用了解Json的数据格式的情况下得到相应的对象。我们的版本更新和其他功能中会大量用到Gson这个工具,它让我们可以完全面向对象来进行编程,而无需过多考虑服务器返回的数据格式。4.3 用Jsoup进行HTML文件解析由于我们要对网络数据进行处理,而南通大学移动网没有提
49、供任何接口,所以我们必须要通过解析网络源码来得到我们想要的数据。网络的源码是HTML文件,如何解析HTML文件就成了重中之重。HTML文件也是XML文件的一种变体,所以解析XML文件的方法理论上也是可以用来解析HTML文件的,但由于HTML没有对语法进行完整的限制,所以网页源码中可能会出现语法不正确的问题,这大大增加了解析的难度,减少了成功率。在测试完SAX, PULL,Jsoup等技术后,最终因为Jsoup的解析成功率高而选择了它。4.4 通过AsyncTask和Loader实现异步任务AsyncTask是Android提供的轻量级的异步类,AsyncTask的本质是一个静态的线程池,Asy
50、ncTask派生出的子类可以实现不同的异步任务,这些任务都是提交到静态的线程池中执行。图4-3 AsyncTask示意图我们的软件中会有大量的网络通信服务,由于Android系统安全性的限制,我们不能在主线程中进行网络通信,因此选用AsyncTask作为网络通信的处理类是十分合适的。在系统设计时,我们不得不注意一个类Loader,这个类和AsyncTask一样可以用来进行网络操作,而且不易出现内存溢出。但在我们的综合考虑之下,AsyncTask在本项目中是可以稳定运行的,而且它的使用范围较广,用它的话也能大大提高代码的可读性,故最终选择它来作为网络通信的载体。4.5 用友盟推送来实现消息推送服
51、务消息推送技术就是讲信息主动的展示给用户,而不是被动的等待用户来浏览。和大数据分析结合后,我们可以根据用户的类型和所处的地理位置来推送消息。图4-4 消息推送流程我采用的是友盟提供的消息推送SDK,采用第三方SDK的原因首先是方便,其次稳定,而且对于小型开发者免费。作为一个程序开发者,不重复造轮子是很重要的。我之前用过极光提供的应用推送,但是得到的数据不是很全,介于我用到了友盟的其他服务,所以一并将应用的SDK全部换为友盟的了。4.6 用户反馈服务的设计用户反馈系统的目的是让开发者能能快速知道用户遇到的问题,能在较短的时间内进解决,是提高用户存留量的一种方式。友盟反馈SDK做的很像QQ,用户和
52、开发者可以像聊QQ一样进行问题的描述,在最新的版本中友盟还支持了发送图片的功能,这个功能可以让开发者直接看到当前问题的截图,一目了然。在前几个版本中我仅仅能通过各大应用市场的用户评论来获得反馈信息,效率太低。在之后的版本中我将软件进行了提升和优化,独自设计了反馈界面,让用户的反馈能及时的传递给开发者。4.7 采用友盟SDK来实现版本更新功能移动应用的版本迭代远远高于PC软件,所以当新版本到来的时候,立刻让用户知道是很有必要的,虽然在应用市场中可以发布新版本,再由应用市场软件来做提示是可行的,但绝对没有在应用中提示来的方便。在应用的早期版本中,我自己实现了应用更新。但不是很方便快捷,最终我选择了第三方提供的应用更新SDK,大大提高了开发速度,而且可以一次上传,所有的用户都能得到最新版本。这大大方便了我们维护新版本,而且用户的更新率会高很多。4.8 用SharedPreferences持久化用户信息SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置。SharedPreferences提供了java常规的Long、Int、String等类型数据的保存接口。它还分为多种权限,可以全局共享访问。它十分适合存储轻量级,独立性高的数据,在存放这些数据的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年巢湖a2货运从业资格证模拟考试
- 2025年嘉峪关道路运输从业人员资格考试内容有哪些
- 2025年企业网络安全防护合同
- 2025年乌鲁木齐货运从业资格证考试试题带答案的app
- 2025年济宁货运从业资格证考试模拟考试
- 2025年临时设施租用合同
- 2025年工程合同价格分析与计算方法
- 2025年体育场地使用权合同范例
- 贵州商学院《园艺植物生物技术B》2023-2024学年第二学期期末试卷
- 贵州黔南科技学院《运动生物力学》2023-2024学年第二学期期末试卷
- 2024中国糖果、巧克力制造市场前景及投资研究报告
- 2025年纪检办公室工作计划范文
- 2024年保险公司柜员年终工作总结
- 2025年南瑞集团招聘笔试参考题库含答案解析
- 七年级上学期历史期末考试模拟卷02(原卷版)
- 桥梁建设施工组织设计方案
- (新版)中国动态血压监测基层应用指南(2024年)
- 2025年上半年上饶市上饶县事业单位招考(139名)易考易错模拟试题(共500题)试卷后附参考答案
- 2024托盘行业市场趋势分析报告
- GB/T 44892-2024保险业车型识别编码规则
- 四新技术培训
评论
0/150
提交评论