还剩41页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
河北科技学院本科毕业论文(设计)题目基于Android系统的手机卫士的设计与开发院别智能制造学院学科门类计算机科学与技术专业计算机科学与技术班级姓名学号xxxxxxxxx指导教师完成时间2017年3月6日目录摘要4Abstract5第一章系统概述
61.1系统开发的背景及意义
61.
1.1系统开发背景
61.
1.2系统开发的意义
61.2系统实现目标
61.3系统开发工具及相关技术
71.
3.1系统开发环境
71.
3.2Android平台介绍
71.
3.3Android开发应用技术
81.
3.4Android开发架构
91.4论文的组织结构9第二章Android开发环境的搭建
102.1基础知识
102.
1.1Java技术简介
102.
1.2Android技术简介10第三章系统需求分析
113.1系统目标分析
113.2系统可行性分析
113.3系统所使用的技术
123.4系统设计原则
123.5系统功能需求分析
133.
5.1功能块划分
133.
5.2功能块描述
133.6系统框架图及项目代码组织结构
153.
6.1系统框架图
153.
6.2项目代码组织结构
173.7主要功能结构分析
173.
7.1自动检查更新功能分析
173.
7.2通信卫士功能分析18第四章系统总体设计
194.1设计思路及实现
194.
1.1开发工具的选定
194.
1.2系统功能结构图设计19第五章系统详细设计及实现
205.1手机防盗功能的实现
205.
1.1设置防盗密码
205.
1.2设置安全手机号码
205.
1.3备份防盗指令到安全手机号码
215.
1.4SIM卡的绑定
225.
1.5防盗指令功能的实现
225.2通信卫士功能的实现
245.
2.1添加及删除黑名单号码
245.
2.2黑名单短信拦截
255.
2.3黑名单电话拦截
265.3高级工具功能的实现
275.
3.1号码归属地查询
275.
3.2常用号码查询
285.
3.3程序锁29第六章系统测试
316.1项目设计遇到问题的处理方式
316.2功能测试
316.3运行结果33第七章总结与展望
407.1研究总结
407.2不足之处40参考文献41摘要随着移动互联网技术的发展和网络应用人员的不断增加,网络世界逐渐变的广博,网络世界的内容也逐渐变得丰富起来在大数据、物联网与电子商务已经成为IT时尚的今天,移动互联、移动社交、移动出行已经成为一种潮流,一种趋势随着互联网+的提出,信息化的热潮再次被掀起,无论哪个行业已经都无法离开网络、离开计算机很多企业、很多行业都争相使用信息化的手段解决现实中存在的各种问题在移动互联网飞速发展的今天,智能手机的不断普及,伴随着4G时代的到来,智能手机的广泛应用,Android手机成为活跃用户量最大的移动终端Android平台的的开源性使得市场上各种手机智能软件日益增多并且混乱,有些非法软件不但威胁着手机的性能与安全性也给防范意识薄弱的手机用户带来了时间和经济上的损失本系统正是针对那些而已应用的,详细的阐述了手机安全卫士的开发流程包括软件管理、进程管理、手机杀毒、高级工具、设置中心等功能模块整体项目采用mvc框架,是对Android知识点的综合应用,用到的技术有(活动、广播接收者,内容提供者,多线程,数据库,进程间通讯等)本项目是通过xml文件对页面进行布局,后台使用java代码实现每一个业务逻辑流程,完成页面的每一个需求本系统采用Android作为开发平台,使用eclipse开发工具,后台使用sqlite数据库进行数据的存储和传输,来实现手机卫士各部分功能模块之间的数据共享和业务逻辑的交互关键词Android;安全卫士;Eclipse;移动互联;物联网AbstractWiththedevelopmentofmobileInternettechnologyandtheincreasingnumberofnetworkapplicationsthenetworkworldhasbecomemoreandmoreextensive.Inthebigdatanetworkingande-commercehasbecomeaITfashiontodaymobileInternetmobilesocialnetworkingmobiletravelhasbecomeatrendatrend.WiththedevelopmentofInternetplustheinformationhasbeenraisedagainnomatterwhattheindustryalreadycannotleaveleavethecomputernetwork.Manycompaniesmanyindustriesarecompetingtouseinformationtechnologytosolvetheproblemsinreality.IntherapiddevelopmentofmobileInternettodaythepopularityofsmartphonesalongwiththearrivalofthe4GerathewidespreaduseofsmartphonesAndroidmobilephoneusersbecomethelargestmobileterminal.OpensourceAndroidplatformmakesthemobilephoneonthemarketavarietyofintelligentsoftwareandincreasingchaossomeillegalsoftwarenotonlythreatenstheperformanceandsafetyofmobilephonebutalsotopreventweakawarenessofmobilephoneusershasbroughttimeandeconomiclosses.Thissystemisonlyforthoseapplicationsadetaileddescriptionofthedevelopmentprocessofmobilesecurityguards.Includingsoftwaremanagementprocessmanagementmobileantivirusadvancedtoolssetupthecenterandotherfunctionalmodules.TheoverallprojectusestheMVCframeworkisacomprehensiveapplicationofAndroidknowledgepointstheuseofTechnologyactivitiesbroadcastreceiverscontentprovidersmulti-threadeddatabaseinterprocesscommunicationetc..ThisprojectisthelayoutofthepagethroughtheXMLfilethebackgroundoftheuseofJavacodetoachieveeachbusinesslogicprocessthecompletionofeachpageneeds.ThesystemusesAndroidasadevelopmentplatformusingtheeclipsedevelopmenttoolthebackgroundusingtheSQLitedatabasefordatastorageandtransmissiontorealizetheinteractionbetweenthemobilephoneguardianofeachfunctionmoduleofdatasharingandbusinesslogic.Keywords:Android;Eclipse;Internetofthings;MobileInternet;Securityguards; 河北科技学院本科生毕业论文(设计)第3页,共42页第一章系统概述
1.1系统开发的背景及意义
1.
1.1系统开发背景当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,Windowsmobile,symbian,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景Android是一种以Linux为基础的开放源码操作系统,其最大特色就是扩展性能强,第三方软件支持多Android操作系统占据全球智能手机操作系统市场份额,由2015年5月的64%一直增长到10月份的
67.15% 在这个信息化的时代,伴随着手机的普及,人们对手机的功能需求也越来越多,手机不仅要能打电话,还要成为娱乐设备,上网冲浪设备等,而随着手机中软件的增加,其安全性、快捷性等性能就大打折扣,这样的手机不再是人们想象中的微型电脑,因此手机用户呼吁一款可以提高手机性能且能保护手机的应用软件,所以手机管理软件应运而生
1.
1.2系统开发的意义智能手机成为现代人们生活和工作的必须品,它的普及促进了基于Android平台的手机软件的快速发展目前市场上各类智能软件繁多并且混乱,网络安全日益严峻,其中有些不法开发商利用Android平台的开放性恶意的窃取用户隐私、偷跑手机流量、恶意扣取用户话费等行为这些非法软件给用户带来了各种安全隐患,损害用户的合法利益,造成了不可估量的损失,因此,实现一个操作简便、安全可靠、功能强大的手机安全卫士是十分必要的
1.2系统实现目标基于Android系统的手机安全卫士在对现有的手机安全软件进行系统的研究与分析的基础上,按照软件工程思想对基于Android系统的手机安全卫士进行了详细的设计,并最终确定本系统正是针对那些而已应用的,详细的阐述了手机安全卫士的开发流程包括软件管理、进程管理、手机杀毒、高级工具、设置中心等功能模块整体项目采用mvc框架,是对Android知识点的综合应用,用到的技术有(活动、广播接收者,内容提供者,多线程,数据库,进程间通讯等)本项目是通过xml文件对页面进行布局,后台使用java代码实现每一个业务逻辑流程,完成页面的每一个需求本系统采用Android作为开发平台,使用eclipse开发工具,后台使用sqlite数据库进行数据的存储和传输,来实现手机卫士各部分功能模块之间的数据共享和业务逻辑的交互因此,基于Android的手机安全卫士的设计与开发具有重要的现实意义,是一项值得研究,也必须去研究的重要课题
1.3系统开发工具及相关技术
1.
3.1系统开发环境本系统所适用的操作系统是Android
4.0以上的所有版本的Android内核的操作系统平台(包括小米的MIUI),系统开发环境是Windows
8.1+SQLite+eclipse+SDK,开发工具是Eclipse
4.3,数据库采用SQLite
1.
3.2Android平台介绍Android系统是工作在智能手机上的操作系统,处处都体现了与手机相关的特性因为手机硬件配置的关系,Android操作系统与电脑上的操作系统有很大的差异唯有充分的了解Android系统特点才可以开发出适合手机运用的软件以下为AndroidSDK
4.0的主要特性1.重用且可替换组件的程序应用框架;2.针对移动设备优化了的的Dalvik虚拟机;3.集成了基于开源Webkit的引擎的网页浏览器;4.经过优化了的自定义2D图形库与基于OpenGLES
1.0库可选择硬件加速;5.SQLite结构化的数据存储数据库;6.支持常规的视频音频多媒体格式,如MP
4、H.
264、AAC、MP
3、AMR、JPGPNG、GIFGSM电话硬件决定;7.蓝牙、GPRS-EDGE、3G和Wifi无线网络;8.手机导航、GPS全球定位、感应加速器
1.
3.3Android开发应用技术第一步应用规划,也就是对要开发的应用的具体的功能、模块、结构等进行规划,确定用户的需求,其实这一步按照软件工程的思想就是软件工程中的需求分析应用规划主要包括以下几部分具体内容确定功能必须的界面及界面跳转的流程需要的数据及数据的来源及格式是否需要服务端支持是否需要本地数据库支持是否需要特殊权限是否需要后台服务第二步架构设计,架构设计也是软件工程中软件开发的必要步骤之一,属于软件架构师应该做的事情,其实也就是软件的整体设计,软件要按照什么样的框架进行规划,要求程序员之间以什么样的方式进行合作、开发分层网络连接数据处理-xml、domain封装Activity第三步界面设计,这一步就是软件工程系统开发过程中的UI设计也叫做界面设计,设计的界面是直接和用户交互的,因此界面的设计非常重要主界面确定模块界面、列表、查看、编辑界面菜单、按钮、对话框、提示信息界面总体颜色第四步数据操作和存储,这一步非常重要,所谓软件或者叫做应用,处理的主要是信息的流动,信息流关系到整个系统的逻辑,这些信息在应用软件中是以数据的形式体现数据来源数据类型存储方式第五步业务实现,这一步主要用来实现系统的具体功能,属于软件工程中软件的实现阶段客户端业务解析第六步页面跳转,页面跳转其实也是应用中各功能或者模块间的关系,如何实现模块间的连接,或者叫做模块之间的相互作用每个页面间的跳转菜单、按钮、事件等
1.
3.4Android开发架构Android的架构是由Linux内核、C/C++函数库、Dalvik虚拟机、应用框架以及关键应用程序构成的通过编译基于框架的应用程序可以降低开发负荷应用软件原则上是在DalvikVM上运行的,Android架构如图
1.1所示图
1.
3.4Android开发框架
1.4论文的组织结构基于Android系统的手机安全卫士的设计与开发共分七章,各章的具体内容安排如下第一章主要介绍了手机安全卫士软件的开发背景、论文组织结构第二章主要描述了Linux系统下基于Android系统的手机安全卫士的开发环境的构建第三章主要介绍了关于手机安全卫士软件需求分析等第四章主要介绍了手机安全卫士软件的概要设计,包括系统各个功能模块的设计以及数据库表的设计第五章具体介绍了手机安全卫士软件各个模块的详细实现第六章主要介绍项目的错误解决方式及系统相关功能测试第七章总结第二章Android开发环境的搭建
2.1基础知识Linux系统以其免费、开源著称,已经受到了IT行业的广泛拥护近年来基于Linux平台下的软件开发也受到了软件开发企业的青睐Linux系统越来越受到企业应用的重视与欢迎,将Java与Android开发环境迁移到Linux操作系统之下已经是企业必须去做的课题,也是非常现实的想法高校IT行业毕业生走到企业从事Android软件开发,使用的基本都是Linux下的Java与Android环境因此为了能让我们培养的移动互联开发方向的人才毕业后直接适应企业的岗位,必须在高校的教学过程中使用基于Linux平台的Java与Android开发环境
2.
1.1Java技术简介Java是由Sun公司于1995年5月推出的Java语言和Java平台的总称Java平台由Java虚拟机JVM和Java应用编程接口API构成Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行现在Java平台已经嵌入了几乎所有的操作系统这样Java程序可以只编译一次,就可以在各种系统中运行目前常用的Java平台为Java
1.7,最近版本为Java
1.8Java是一种跨平台的、面向对象的、可移植的、多线程的、动态的语言Java语言已经成为IT界最受欢迎的语言目前风靡全球的Android就是采用Java作为开发语言的
2.
1.2Android技术简介Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发Android是目前智能手机中应用最广泛的操作系统,Android继承了Linux的开放性,为IT从业者提供了尽情施展的舞台智能手机广泛应用使得Android如日中天,从事Android应用软件开发是目前IT行业毕业生非常重要的选择之一在国内手机市场中,Android操作系统占据了非常庞大份额,是毋庸置疑的王者为市场带来强劲的需求,在招聘类网站上,Android开发工程师无疑是最热的职位而开发爱好者想进入该行业,所面临的第一个问题就是掌握Java语言本章就是为从事Java或Android开发的从业人员提供一个更加安全、健壮、兼容的Java与Android开发平台第三章系统需求分析伴随着4G移动互联网的快速发展以及智能手机的日益普及,智能手机的广泛应用,Android智能手机系统在2015年Q4增长
16.6%,全球份额达到
80.7%,无论是在出货量还是使用量上都占有绝对性的优势,由于Android智能手机操作系统的开源性使之应用程序数量达到了143万之多,但是正是由于Android智能手机系统的开源性是得每个人都可以对Android手机端的软件进行编写,更使得某些非法开发者可以在Android手机应用中加入一些非法的代码,间接的获取用户隐私,进行恶意的扣费行为,严重的侵犯到用户的合法权益,使得Android手机的安全问题日益明显
3.1系统目标分析本系统旨在解决目前Android智能手机平台上存在的恶意窃取用户隐私信息以及进行恶意扣费行为的非法操作的问题,详细的阐述了Android手机安全卫士的开发流程,包括手机防盗、通讯卫士、软件管理、进程管理、手机杀毒、系统优化、高级工具、设置中心等功能模块的搭建实现用户安装软件时对软件是否包含恶意窃取用户隐私信息及恶意扣费行为的监控;同时对恶意骚扰电话以及短信进行拦截整体采用MVC框架,是对Android知识点的综合应用
3.2系统可行性分析在大数据、物联网与电子商务已经成为IT时尚的今天,Android手机的安全问题日益明显目前Android智能手机涉及安全类的应用程序在各个应用市场下载榜上都名列前茅,国内有很多成功案例,如360手机卫士、腾讯手机管家、百度手机卫士等等而手机卫士这个项目看起来很棘手,组织关系很复杂,但经过仔细分析后,发现它所运用的都是Android手机上的核心技术如果我们能详细了解项目的开发流程并且熟悉Android的核心知识点,那么开发出这个项目并不存在太大的技术问题系统的可行性分析,是对该项目是否具有实际操作意义,是否具有理论与实际的可行性而进行的论证与分析只有保证系统是可行的、可操作的,才能对系统进行细化、进行设计与开发
1.可行性分析(经济方面)本项目由于需要与服务器进行相关数据信息的传递,所以可以暂时以家用的台式电脑进行服务器端的相关部署,因此,本系统开发经费对于项目开发者在经济上是可以承受的,换句话说是除了人力之外没有经济成本的所以本系统的研究与实现在经济上是可行的
2.可行性分析(技术层面)Java技术是在Android平台开发上的重要应用技术,可以使系统所必须和依赖的各种软硬件实现完美结合在一起,从而实现较为复杂的应用就硬件来说,全国的物品都在涨价,而电子产品的价格却一路下跌目前市场上任意一款搭载Android智能手机操作系统的移动终端设备平台完全能满足本系统的需要3.可行性分析(社会层面)通过将近一周时间的市场需求的调查,发现目前使用Android智能手机操作系统的用户对手机安全卫士的需求还是非常之大的自本人开始在邢台职业技术学院学习以来,根据学习到计算机级移动软件开发相关专业知识,更多的了解了软件开发的技术与机制,才找到了这一问题的切实的可行性的解决方案因此,该项目的进行具有了良好的社会层面的可行性总而言之本项目的开发,目标已明确并且在社会、经济与技术层面均是可行的本项目的研发具有投入少、见效快的特点因此,系统的开发是完全可行的,是可以实施的
3.3系统所使用的技术本系统所适用的操作系统是市场上任意一款搭载高于Android
4.0版本以上Android智能手机操作系统的移动端设备,服务器使用家用台式进行部署,同时做好必要备份开发环境是Windows
8.1桌面操作系统,开发工具是Eclipse
4.
4.1,数据库采用MySQlite整体项目采用MVC框架,包含对Android四大组件即Activity、Service、BroadcastReceiver、ContentProvider以及Notification、自定义控件、aidl进程间通讯的综合运用
3.4系统设计原则通过对360手机卫士、腾讯手机管家、百度手机卫士等安全应用的研究、认识和分析,项目组成员对手机安全实现方法已经有了基本的了解当然,无论哪个应用系统都要有自身设计的规则本项目所搭建的基于Android系统的手机安全卫士也拥有自己的调度管理流程和设计的规则,它的主要设计规则有实用性将Android智能手机操作系统中恶意软件的进行非法操作行为问题进行深入的研究与分析,运用所学知识,有效结合相关软硬件,达到有效监控用户所安装的手机软件的相关行为实现对恶意软件进行删除的目的,并且让该项目具有一定的推广价值,具有较强的实用价值简洁性在能够实现保护用户个人隐私不被泄露及不被非法软件进行恶意扣费的同时,尽可能的让该平台的操作能够简单易懂对于一个应用系统来说友好的用户界面,美观大方的用户感受是必须的,也是考核一个软件是否达标的重要指标目标性基于Android系统的手机安全卫士的设计是针对目前Android智能手机操作系统上的恶意软件问题定向性的开发与设计,具有较强的专业突出性和针对性也就是基于Android系统的手机安全卫士具有自己的明确的设计与开发的目的实效性基于Android系统的手机安全卫士力求能够完成手机防盗、通信卫士、软件管理、进程管理、手机杀毒、系统优化、高级工具、设置中心等9大功能模块,具有很好的实用性下面对上述几点进行简单总结,基于Android系统的手机安全卫士通过对Android四大组件即Activity、Service、BroadcastReceiver、ContentProvider以及Notification、自定义控件、aidl进程间通讯的综合运用实现对手机丢失时的手机定位及远程数据的删除;当用户收到恶意骚扰短信及电话时进行有效的拦截,对恶意软件进行扫描删除,有效保护用户的合法权益,可以自由为用户使用
3.5系统功能需求分析
3.
5.1功能块划分本文所设计与开发的软件系统主要包括以下模块手机防盗、通信卫士、软件管理、进程管理、手机杀毒、系统优化、高级工具、设置中心
3.
5.2功能块描述
1、系统基本功能之手机防盗1防盗密码设置功能用户在第一次使用防盗功能时需要进行防盗密码的相关设置,当用户需要进行防盗功能设置时必须输入防盗密码才能进行防盗功能模块的具体设置,这样做可以防止手机在落入他人之手时防盗功能被恶意修改导致手机防盗功能失效2安全手机号设置功能用户可以通过设置自己关系亲密的联系人的手机号码,在手机丢失时,SIM被更换后将更换后的SIM的号码及手机的具体位置发送到安全手机号上,以便用户可以获取到自己手机的位置以及盗取自己手机的嫌疑人的电话号码3备份防盗指令功能用户可以将手机防盗指令事先备份到设置好的安全手机号中,当用户手机丢失时用户可以通过安全手机向用户所丢失的手机发送相关的防盗指令实现手机报警、位置发送、远程锁定手机、远程删除手机数据等相关防盗功能4防盗服务功能用户可以自主选择是否开启手机防盗功能5激活远程管理功能用户开启后可以防止手机安全卫士被恶意卸载以及实现远程锁定手机和远程删除手机数据的作用6SIM卡更换保护功能开启后,当用户手机卡被更换时自动向安全手机号码中发送防盗指令,提醒用户手机被盗
2、系统基本功能之通信卫士1添加黑名单功能分为拦截电话和拦截短息,当用户输入黑名单手机号码后,可以自主选择拦截的方式,当用户选择拦截电话时,当黑名单手机号码来电时手机安全卫士会自动挂断该电话;当用户选择拦截短息时,当黑名单手机号码向用户发送短信时手机安全卫士会自动拦截该短息,避免用户被陌生人骚扰2删除黑名单功能当用户不想拦截黑名单号码时,可以选择删除该黑名单号码
3、系统基本功能之软件管理1卸载功能用户可以删除在手机上没用的应用程序2启动功能用户可以快速启动想要打开的应用程序3分享功能用户可以将应用程序通过短息,QQ等工具分享给自己的好友
4、系统基本功能之进程管理1结束进程功能用户可以将无用的后台应用程序结束,提高手机的运行速度
5、系统基本功能之流量统计1流量统计功能用户可以明确的看到每个应用程序上传/下载所占用的流量的相关信息,以便用户合理的使用应用程序,避免了高额的流量费用
6、系统基本功能之手机杀毒1查杀功能用户可以通过手机查杀功能来查找手机中的恶意应用程序,当发现恶意应用程序时会自动询问用户是否删除,这样可以有效的保护用户的隐私安全
7、系统基本功能之系统优化1系统优化功能用户可以通过系统优化功能来扫描手机中无用的垃圾文件,释放占用空间,提高手机性能
8、系统基本功能之高级工具1号码归属地查询功能用户可以通过号码归属地查询功能来获取到相关手机号码的归属地信息2常用号码查询功能用户可以通过常用号码查询功能来获取到我们常用的快递、餐饮、银行的相关号码信息3程序锁功能用户可以为不想别人打开的应用程序设置密码,从而有效的保护自己的相关个人隐私
9、系统基本功能之设置中心1设置各个功能模块的开关状态
3.6系统框架图及项目代码组织结构
3.
6.1系统框架图基于Android系统的手机安全卫士是基于MVC框架所设计的,在主界面上包含手机防盗、通信卫士、软件管理、进程管理、流量统计、手机杀毒、系统优化、高级工具、设置中心等九个模块模块化设计降低了模块之间的耦合性,使得系统便于修改,提高了软件的设计效率各个模块相对独立,每个模块负责不同功能,使系统更加清晰,便于使用充分地利用了Android的四大组件功能系统框架图如图
2.
6.1所示图
3.
6.1完整的系统框架图
3.
6.2项目代码组织结构android.content.pm用于存放软件管理所需要的文件;android.telephony和com.android.internal.telephony用于存放挂断电话的aidl文件;com.my.mobilesafe.activity,这个包放我们开发程序的UI界面和功能按钮实现类;com.my.mobilesafe.adapter,存放我们手机安全卫士主界面的显示数据的适配器com.my.mobilesafe.db,存放我们所使用的数据库类;com.my.mobilesafe.db.dao,存放我们通过使用数据库命令语言实现对数据库的增删改查;com.my.mobilesafe.domain,存放我们通过接口实现返回数据类;com.my.mobilesafe.downloadutils,存放下载新数据的工具类;com.my.mobilesafe.engine,存放程序开发的业务类;com.my.mobilesafe.iface,存放保护一个应用程序的接口;com.my.mobilesafe.main,存放我们程序的主界面的包;com.my.mobilesafe.provider,这个包用来设置应用程序的管理;com.my.mobilesafe.receiver,存放定义的广播接受者;com.my.mobilesafe.service,这个包为我们后台长期运行的服务;com.my.mobilesafe.setup4_guide_activity,存放手机防盗界面设置的额窗口;com.my.mobilesafe.test,存放一个测试类;com.my.mobilesafe.utils,存放我们的公共的工具类;com.my.mobilesafe.welcome,存放程序的欢迎界面
3.7主要功能结构分析
3.
7.1自动检查更新功能分析当用户打开自动更新功能时,手机安全卫士会自动与服务器通信通信,如果通信正常服务器会响应手机安全卫士的相关请求,返回目前最新的版本号,安全卫士会将现在的版本号与从服务器中解析到版本号进行比对,如果版本号一致手机安全卫士会自动进入到主界面中,若不一致手机安全卫士会弹出对话框提示用户有新版本的安全卫士可以下载使用,当用户选择下载新版时,手机安全卫士会单独调用一条下载线程进行新版本软件的下载,下载完毕后会自动弹出安装提示框等待用户的安装从而实现版本的检查更新功能自动检查更新流程图如图
3.
7.1所示图
3.
7.1自动检查更新流程图
3.
7.2通信卫士功能分析通信卫士的基本功能是按照用户所设置的黑名单手机号码向黑名单表做一些基本信息录入工作,安全卫士将来电号码与黑名单表中的号码进行比对,如果相同则对该来电号码进行拦截通信卫士操作流程图如图
3.
7.2所示图
3.
7.2通信卫士操作流程图第四章系统总体设计
4.1设计思路及实现
4.
1.1开发工具的选定本系统确定的开发平台为操作系统Windows8开发环境Eclipse开发技术JAVA数据库MySQL
4.
1.2系统功能结构图设计整个系统分为手机防盗、通信卫士、软件管理、进程管理、流量统计、手机杀毒、系统优化、高级工具、设置中心等九大模块模块,图
3.
2.4给出的是系统的基本框架图图
4.
1.2系统功能结构图第五章系统详细设计及实现
5.1手机防盗功能的实现
5.
1.1设置防盗密码
1、关键代码//将输入的密码进行加密ifsavedpwd.equalsMd5Encoder.encodeuserentrypwd{//Toast.makeTextthis密码正确进入界面
1.show;ifsafeNumber.equals{//如果安全手机号码为空IntentsetNum=newIntentLostProtectedActivity.thisSetup3PhoneNum.class;startActivitysetNum;}else{Intentsetup4=newIntentLostProtectedActivity.thisSetup4GuideActivity.class;startActivitysetup4;}finish;}else{Toast.makeTextthis密码不正确,请重新输入!
1.show;return;}
5.
1.2设置安全手机号码
1、关键代码publicclassLostSetupPhoneNumextendsActivity{privateEditTextet_PhoneNum;//设置绑定的安全号码privateEditTextet_PhoneNumConfig;//确定绑定的安全号码privateSharedPreferencessp;//用于存储安全号码@OverrideprotectedvoidonCreateBundlesavedInstanceState{//TODOAuto-generatedmethodstubsuper.onCreatesavedInstanceState;setContentViewR.layout.setup3_lost_setphonenum;//获取界面中的相关控件et_PhoneNum=EditTextfindViewByIdR.id.lost_setphone_et_phonenum;et_PhoneNumConfig=EditTextfindViewByIdR.id.lost_setphone_et_phonenum_config;sp=getSharedPreferencesconfigMODE_PRIVATE;//获取配置文件//数据的回显Stringnumber=sp.getStringsafeNumber;}//在lost_setphonenum界面中的“选择联系人按钮”的android:onClick=selectContact//所以,当单击“选择联系人”时会执行该方法publicvoidselectContactViewview{Intentintent=newIntentLostSetupPhoneNum.thisSelectContactActivity.class;//激活一个带有返回值的activity参数二请求码startActivityForResultintent0;}//被激活的Activity将返回的结果数据存放在Intent中,这里的Intent和被激活的Activity//返回数据时所使用的是同一个Intent//注意如果希望数据能够正常返回,Activity的启动模式不能设置为singletask模式@OverrideprotectedvoidonActivityResultintrequestCodeintresultCodeIntentdata{ifdata!=null{//获取到返回的数据Stringnumber=data.getStringExtranumber;//将返回的数据显示在edittext中et_PhoneNum.setTextnumber;et_PhoneNumConfig.setTextnumber;}super.onActivityResultrequestCoderesultCodedata;}
5.
1.3备份防盗指令到安全手机号码
1、关键代码publicclassSetup4BeiFenextendsActivity{privateCheckBoxcb_sendSms;//是否发送短信的CheckBoxprivateSharedPreferencessp;//配置文件privateButtonbt_finish;//完成按钮privatebooleanisSendSms;@OverrideprotectedvoidonCreateBundlesavedInstanceState{super.onCreatesavedInstanceState;setContentViewR.layout.setup4_lost_beifen;//获取到配置文件sp=getSharedPreferencesconfigMODE_PRIVATE;//获取界面中的组件cb_sendSms=CheckBoxfindViewByIdR.id.setup4_beifen_cb_sendSms;bt_finish=ButtonfindViewByIdR.id.setup4_beifen_btn_finish;//为是否发送短信设置一个默认的值为true//isSendSms=sp.getBooleanSendSmstrue;//ifisSendSms==false{//cb_sendSms.setCheckedfalse;//}else{//cb_sendSms.setCheckedtrue;//}bt_finish.setOnClickListenernewOnClickListener{@OverridepublicvoidonClickViewarg0{ifisSendSms{beifen;}LostProtectedActivity.instance.finish;//关闭第一个界面Setup3PhoneNum.instance.finish;//关闭设置安全手机的界面finish;//关闭本身Intentintent=newIntentSetup4BeiFen.thisSetup4Activity.class;startActivityintent;overridePendingTransitionR.anim.scale_translateR.anim.my_alpha_action;}};
5.
1.4SIM卡的绑定
1、关键代码//初始化的逻辑--判断sim卡是否被绑定Stringsimseral=sp.getStringsimserial;//获取到配置文件中的安全手机号ifTextUtils.isEmptysimseral{cb_sim.setCheckedfalse;tv_sim_status.setTextSIM卡未绑定,强烈建议您绑定;tv_sim_status.setTextColorgetResources.getColorR.color.red;}else{cb_sim.setCheckedtrue;tv_sim_status.setText检测到SIM卡更换后,仍然可以正常操作手机;tv_sim_status.setTextColorgetResources.getColorR.color.text_gray;}
5.
1.5防盗指令功能的实现
1、关键代码publicclassSmsReceiverextendsBroadcastReceiver{privatestaticfinalStringTAG=SmsReceiver;privateSharedPreferencessp;//配置文件privateBlackNumberDaodao;@OverridepublicvoidonReceiveContextcontextIntentintent{Log.iTAG短信到来了;dao=newBlackNumberDaocontext;//获取到保存的配置文件sp=context.getSharedPreferencesconfigcontext.MODE_PRIVATE;//获取到保存的安全手机号码StringsafeNumber=sp.getStringsafeNumber;//获取短信中的内容系统接收到一个信息广播时,会将接收到的信息存放到pdus数组中Object[]objs=Object[]intent.getExtras.getpdus;//获取手机设备管理器DevicePolicyManagerdm=DevicePolicyManagercontext.getSystemServiceContext.DEVICE_POLICY_SERVICE;//创建一个与MyAdmin相关联的组件ComponentNamemAdminName=newComponentNamecontextMyAdmin.class;//遍历出信息中的所有内容forObjectobject:objs{SmsMessagesmsMessage=SmsMessage.createFromPdubyte[]object;//获取发信人的地址Stringsender=smsMessage.getOriginatingAddress;//判断发信人的手机号是否包含+86ifsender.charAt0==+{//进行手机号码的截取sender=sender.substring3;}//获取短信信息内容Stringbody=smsMessage.getMessageBody;if#*weizhi*#.equalsbody{Log.iTAG发送位置消息;//获取当前的位置Stringlastlocation=GPSInfoProvider.getInstancecontext.getLocation;if!TextUtils.isEmptylastlocation{//如果位置不是空的//得到信息管理器SmsManagersmsManager=SmsManager.getDefault;//向安全号码发送当前的位置信息smsManager.sendTextMessagesafeNumbernulllastlocationnullnull;}abortBroadcast;}elseif#*baojing*#.equalsbody{Log.iTAG播放报警音乐;AudioManageraudioMgr=AudioManagercontext.getSystemServiceContext.AUDIO_SERVICE;finalMediaPlayerplayer=MediaPlayer.createcontextR.raw.alert;//获取最大音乐音量intmaxVolume=audioMgr.getStreamMaxVolumeAudioManager.STREAM_MUSIC;audioMgr.setStreamVolumeAudioManager.STREAM_MUSICmaxVolumeAudioManager.FLAG_PLAY_SOUND;//即使手机是静音模式也有音乐的声音player.setVolume
1.0f
1.0f;//开始播放音乐player.start;player.setLoopingtrue;////监听音频播放完的代码,实现音频的自动循环播放//player.setOnCompletionListenernew//MediaPlayer.OnCompletionListener{////@Override//publicvoidonCompletionMediaPlayerarg0{////即使手机是静音模式也有音乐的声音//player.setVolume
1.0f
1.0f;//player.start;////}//};//终止发送过来的信息,在本地查看不到信息abortBroadcast;}elseif#*xiaohui*#.equalsbody{Log.iTAG清处数据;//判断设备的管理员权限是否被激活只有被激活后,//才可以执行锁屏、清除数据、重置出厂设置(模拟器不支持该操作)等操作ifdm.isAdminActivemAdminName{dm.wipeData0;//清除设备中的数据,手机会自动重启}abortBroadcast;}elseifbody.contains#*suoding*#{Log.iTAG远程锁屏;Stringpass=body.substring
11.trim;ifpass.equals{ifdm.isAdminActivemAdminName{dm.resetPassword1990;//屏幕解锁时需要的解锁密码dm.lockNow;}}else{ifdm.isAdminActivemAdminName{dm.resetPasswordpass0;//屏幕解锁时需要的解锁密码dm.lockNow;}}abortBroadcast;}
5.2通信卫士功能的实现
5.
2.1添加及删除黑名单号码
1、关键代码//添加黑名单号码的方法publicvoidaddBlackNumberViewview{AlertDialog.Builderbuilder=newBuilderCallSmsSafeActivity.this;ViewcontentView=View.inflateCallSmsSafeActivity.thisR.layout.call_sms_addnull;builder.setViewcontentView;//获取显示界面中的相关元素et_add_number=EditTextcontentView.findViewByIdR.id.et_call_sms_add_number;cb_add_phone=CheckBoxcontentView.findViewByIdR.id.cb_call_sms_add_phone;cb_add_sms=CheckBoxcontentView.findViewByIdR.id.cb_call_sms_add_sms;bt_ok=ButtoncontentView.findViewByIdR.id.bt_call_sms_add_ok;bt_cancel=ButtoncontentView.findViewByIdR.id.bt_call_sms_add_cancel;//获取对话框勾选的状态码//为确定按钮添加点击事件bt_ok.setOnClickListenernewOnClickListener{@OverridepublicvoidonClickViewarg0{//获取用户在文本编辑框中输入的黑名单的号码blackNumber=et_add_number.getText.toString.trim;//首先先判断用户是否已经输入黑名单号码ifTextUtils.isEmptyblackNumber{Toast.makeTextCallSmsSafeActivity.this号码不能为空!
0.show;}else{//如果用户选择拦截电话,mode的值为0ifcb_add_phone.isChecked{mode=0;}//如果用户选择拦截短信,mode的值为1ifcb_add_sms.isChecked{mode=1;}ifcb_add_phone.isCheckedcb_add_sms.isChecked{mode=2;}//如果用户没有选择勾选状态,提示用户勾选if!cb_add_phone.isChecked!cb_add_sms.isChecked{Toast.makeTextCallSmsSafeActivity.this请选择拦截模式
0.show;}//判断是否已经设置好模式else{//向数据库中写入数据dao.addblackNumbermode+;//关闭对话框dialog.dismiss;//通知主线程更新界面newUpdateBlackNumberData.start;}}}};//设置要显示的界面dialog=builder.create;dialog.show;}//根据得到的拦截模式设置mode的值publicintgetblackNumberModeStringnumberMode{intmode=10;//根据相关模式设置相应的值ifnumberMode.equals电话拦截{mode=0;}ifnumberMode.equals短信拦截{mode=1;}ifnumberMode.equals全部拦截{mode=2;}returnmode;}
5.
2.2黑名单短信拦截
1、关键代码publicclassSmsReceiverextendsBroadcastReceiver{privatestaticfinalStringTAG=SmsReceiver;privateSharedPreferencessp;//配置文件privateBlackNumberDaodao;@OverridepublicvoidonReceiveContextcontextIntentintent{Log.iTAG短信到来了;dao=newBlackNumberDaocontext;//获取到保存的配置文件sp=context.getSharedPreferencesconfigcontext.MODE_PRIVATE;//获取到保存的安全手机号码StringsafeNumber=sp.getStringsafeNumber;//获取短信中的内容系统接收到一个信息广播时,会将接收到的信息存放到pdus数组中Object[]objs=Object[]intent.getExtras.getpdus;//获取手机设备管理器DevicePolicyManagerdm=DevicePolicyManagercontext.getSystemServiceContext.DEVICE_POLICY_SERVICE;//创建一个与MyAdmin相关联的组件ComponentNamemAdminName=newComponentNamecontextMyAdmin.class;//遍历出信息中的所有内容forObjectobject:objs{SmsMessagesmsMessage=SmsMessage.createFromPdubyte[]object;//获取发信人的地址Stringsender=smsMessage.getOriginatingAddress;//判断发信人的手机号是否包含+86ifsender.charAt0==+{//进行手机号码的截取sender=sender.substring3;}//判断短信号码是否是黑名单号码与短信拦截intresult=dao.findNumberModesender;ifresult==1||result==2{//判断该黑名单号码是否需要拦截短信Log.iTAG拦截黑名单短信;abortBroadcast;}
5.
2.3黑名单电话拦截
1、关键代码//挂断电话,需要复制aid1文件publicvoidendcallStringincomingNumber{//使用反射获取系统的service方法try{Methodmethod=Class.forNameandroid.os.ServiceManager.getMethodgetServiceString.class;IBinderbinder=IBindermethod.invokenullnewObject[]{TELEPHONY_SERVICE};//通过aidl实现方法介绍的调用ITelephonytelephony=ITelephony.Stub.asInterfacebinder;//该方法是一个异步方法,会开启一个线程将呼入的号码存入数据库中telephony.endCall;//deleteCallLogincomingNumber;//注册一个内容观察者,观察uri数据的变化getContentResolver.registerContentObserverCallLog.Calls.CONTENT_URItruenewMyObservernewHandlerincomingNumber;}catchNoSuchMethodExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}catchClassNotFoundExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}catchIllegalArgumentExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}catchIllegalAccessExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}catchInvocationTargetExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}catchRemoteExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}}//删除呼叫记录privatevoiddeleteCallLogStringincomingNumber{//呼叫记录内容提供者对应的uriUriuri=Uri.parsecontent://call_log/calls;Cursorcursor=getContentResolver.queryurinewString[]{_id}number=newString[]{incomingNumber}null;whilecursor.moveToNext{Stringid=cursor.getString0;getContentResolver.deleteuri_id=newString[]{id};}cursor.close;}}
5.3高级工具功能的实现
5.
3.1号码归属地查询
1、关键代码publicclassNumberQueryActivityextendsActivity{privateEditTextet_number_query;//输入要查询的号码privateTextViewtv_number_address;//显示号码归属地位置Stringaddress=null;@OverrideprotectedvoidonCreateBundlesavedInstanceState{super.onCreatesavedInstanceState;setContentViewR.layout.number_query;//加载界面//获取界面的相关组件et_number_query=EditTextfindViewByIdR.id.et_number_query;tv_number_address=TextViewfindViewByIdR.id.tv_number_address;//button1=ButtonfindViewByIdR.id.button1;//为文本框添加文本改变时的监听事件et_number_query.addTextChangedListenernewTextWatcher{@OverridepublicvoidonTextChangedCharSequencearg0intarg1intarg2intarg3{ifTextUtils.isEmptyet_number_query.getText.toString.trim{tv_number_address.setText;address=;}}@OverridepublicvoidbeforeTextChangedCharSequencearg0intarg1intarg2intarg3{//query;}//文本改变后@OverridepublicvoidafterTextChangedEditablearg0{ifTextUtils.isEmptyaddress{query;}}};//为文本框添加按键监听事件et_number_query.setOnKeyListenernewOnKeyListener{@OverridepublicbooleanonKeyViewarg0intarg1KeyEventarg2{//query;//获取删除后的字符Stringnumber=et_number_query.getText.toString.trim;ifnumber.length0{//如果号码长度大于0ifnumber.charAt0!=0{//当首个数字不为0时代表手机号ifnumber.length7{//当长度小于7时无法查询,将结果改为空tv_number_address.setText;address=;}}else{//当首个数字为0时代表是固定电话ifnumber.length=4{//当删除后的号码长度小于等于4时//如果查不到归属地(代表区号为3位)ifNumberAddressDao.getAddressnumber.equals{//就在删除后清空文本框ifnumber.length4{tv_number_address.setText;address=;}}else{//如果查到归属地(代表区号为4位)ifnumber.length3{address=;tv_number_address.setText;}}}}}returnfalse;}};
5.
3.2常用号码查询
1、关键代码publicclassCommonNumActivityextendsActivity{protectedstaticfinalStringTAG=CommonNumActivity;privateExpandableListViewelv_common_num;//可扩展的ListView@OverrideprotectedvoidonCreateBundlesavedInstanceState{super.onCreatesavedInstanceState;setContentViewR.layout.common_num;elv_common_num=ExpandableListViewfindViewByIdR.id.elv_common_num;//为ExpandableListView设置适配器对象elv_common_num.setAdapternewCommonNumberAdapter;//为分组中的每个孩子注册一个监听器elv_common_num.setOnChildClickListenernewOnChildClickListener{@OverridepublicbooleanonChildClickExpandableListViewparentViewvintgroupPositionintchildPositionlongid{TextViewtv=TextViewv;Stringnumber=tv.getText.toString.split\n
[1];//使用隐式意图来激活手机系统中的拨号器Intentintent=newIntent;intent.setActionIntent.ACTION_CALL;intent.setDataUri.parsetel:+number;startActivityintent;returnfalse;}};}
5.
3.3程序锁
1、关键代码publicclassAppLockActivityextendsActivity{//展示手机中的所有应用privateListViewlv_applock;//progressBar和TextView对应的父控件,用于控制progressBar和TextView的显示hiprivateLinearLayoutll_loading;//获取手机中已安装的应用程序privateAppInfoProviderprovider;//存放当前手机上所有应用程序的信息privateListAppInfoappInfos;//操作存放已锁定的应用程的数据库privateAppLockDaodao;//存放所有已经被锁定的应用程序的包名信息privateListStringlockedPacknames;//处理子线程中获取到的当前手机中的所有应用程序privateHandlerhandler=newHandler{publicvoidhandleMessageandroid.os.Messagemsg{ll_loading.setVisibilityView.INVISIBLE;//为listView适配数据lv_applock.setAdapternewAppLockAdapter;}};@OverrideprotectedvoidonCreateBundlesavedInstanceState{super.onCreatesavedInstanceState;setContentViewR.layout.app_lock;//加载界面provider=newAppInfoProviderthis;//初始化AppInfoProvider//获取界面中的相关控件lv_applock=ListViewfindViewByIdR.id.lv_applock;ll_loading=LinearLayoutfindViewByIdR.id.ll_applock_loading;dao=newAppLockDaothis;//从数据库中获取到所有被锁定的应用程序包名lockedPacknames=dao.findAll;//正在从数据库中获取数据时,应该显示progressVar和TextView对应的“正在加载字样”ll_loading.setVisibilityView.VISIBLE;//开启一个子线程获取手机中所有应用程序的信息newThread{publicvoidrun{appInfos=provider.getInstalledApps;//向主线程中发送一个空消息,通知主线程更新数据handler.sendEmptyMessage0;}}.start;//为ListView中的item设置单击事件的监听器lv_applock.setOnItemClickListenernewOnItemClickListener{@OverridepublicvoidonItemClickAdapterViewprentViewviewintpositionlongid{//获取当前item的对象AppInfoappInfo=AppInfolv_applock.getItemAtPositionposition;//获取到当前item对象的包名信息Stringpackname=appInfo.getPackName;//查找到item对应的锁控件imageViewImageViewiv=ImageViewview.findViewByIdR.id.iv_applock_status;//设置一个左右移动的动画TranslateAnimationta=newTranslateAnimationAnimation.RELATIVE_TO_SELF0Animation.RELATIVE_TO_SELF1fAnimation.RELATIVE_TO_SELF0Animation.RELATIVE_TO_SELF0;//设置动画播放的时长(毫秒)ta.setDuration300;//判断当前的item是否处于锁定状态,如果是,则应该解锁,否则应该加锁iflockedPacknames.containspackname{//锁定状态dao.deletepackname;//设置为未锁定状态iv.setImageResourceR.drawable.unlock;//将当前应用程序的包名添加到集合(存放已锁定应用程序的包名)中,//以便界面的刷新lockedPacknames.removepackname;}else{//未锁定状态//将包名添加到数据库中dao.addpackname;//设置为锁定状态iv.setImageResourceR.drawable.lock;//将当前应用程序的包名添加到集合(存放已锁定应用程序的包名)中,、//以便界面的刷新lockedPacknames.addpackname;}//为当前的item播放动画view.startAnimationta;}};}限于篇幅,其他功能模块的实现方法类似,所以不再一一列出第六章系统测试至此,基于Android系统的手机安全卫士的调研、设计与开发已经基本完毕接下来需要做的是进行软件系统的测试,软件测试的目的是在软件系统上线之前,开发人员以及系统相关人员对软件的功能、流程、解决问题的思想、思路进行系统的测试从而找出系统中存在的问题,进行升级与改造,在交付用户使用后尽量减少或者避免出现问题系统测试是对软件设计与系统编码的最终考核与全面检查在软件开发的每个阶段,系统架构师为了保障系统的质量会采用一系列的方法进行分析与设计在软件实现之后,包括每个阶段都要对软件设计者的设计理念,设计流程进行复查因为即使设计者的设计再好,执行者也就是程序员在进行最终转化的时候都可能产生偏差,有可能存在一系列的错误系统软件是复杂的、知识高密集度的逻辑性非常强的程序员与设计者逻辑集中的思维与思想转换的产品是无状态的,因此要进行系统且完善的软件测试当然,软件测试能够解决系统设计或者开发中存在的一些问题,改进系统设计或者开发中的某些不足,但是目前尚不存在一种软件测试的方法可以完全保证系统的设计与实现的过程是完全正确的,没有任何错误的,系统测试的最终目的是将系统的错误降到最低,将系统的可靠性、保障性提高到最佳状态
6.1项目设计遇到问题的处理方式在项目开发中不可能一帆风顺,遇到运行错误或者在运行时抛出异常是非常正常的遇到异常不管是Java还是Android下都是通过打断点的方式进行的,如果在程序运行过程中发现世界结果与预期结果不一致,说明程序在某个地方出现了BUG,找到程序错误的地方在定义的变量或者定义的方法左边打上断点,然后以DeBugAs的运行方式运行程序,运行时程序会自动跳转到DeBug页面,按F5跳转到下一步进行调试,进行查看变量的值,如此不断的防护进行调试,知道找出出现的问题所在调试时需要注意的问题如下第一断点调试完成后,要在BreakPoints视图中清除所有断点;第二断点调试完成后,一定要记得结束运行的JVM
6.2功能测试基于Android系统的手机安全卫士要实现的功能有完成Web服务器端版本的实时更新、手机的远程控制、黑名单电话与短信的拦截,手机软件的卸载、启动与分享,手机进程的结束,手机相关流量信息的统计,手机病毒软件的查杀与卸载,手机垃圾文件的清理,常用手机号码的归属地查询等功能模块根据上面介绍的测试原则,使用测试用例文档分别对系统进行测试测试部分包括对手机防盗模块测试,对手机归属地查询功能的测试和对手机杀毒的测试等,测试用例如表
6.
2.
1、表
6.
2.2所示表
6.
2.1测试用例1表
6.
2.2测试用例2在测试过程中,系统测试小组经过对各个模块的测试,排除了系统的一定的错误,系统在一定程度上得到了巩固与完善当然由于系统的测试过程中可能还有一些错误没有被发现,需要在后续的使用过程中进一步的完善
6.3运行结果
1、自动更新
2、手机防盗
3、软件管理
4、进程管理
5、流量统计
6、手机杀毒
7、系统优化
8、高级工具
9、设置中心0第七章总结与展望
7.1研究总结这次的毕业设计,让我对基于Android智能手机操作系统的移动软件开发有了巨大的认识,还记得刚开始对软件开发的认识就是简单的敲几句代码而已,我相信很多人的看法和我是一样的,但是当我完成这个项目时,我才充分意识到自己的主观意识是多么的肤浅,软件开发不只是我们所认为的敲几句代码就可以的,它具体包括计划、分析、设计、编码、测试、维护等6大方面所谓计划,就是要对想要解决的问题进行总体定义,包括了解用户的需求及现实环境进行完整的分析,得出最后的实施方案;软件需求分析是对开发的软件的一个系统的分析与设想;软件设计包括概要设计和详细设计两个阶段;软件编码是将软件设计转换成具体可以运行的程序;而软件测试则是以较小的代价发现软件中尽可能多的BUG;软件维护则是对已完成的软件的错误进行修改完善或是增加新功能,使软件可以更好地为用户服务这个项目可以说是对我们大学所学课程的一个综合运用,其中用到了数据库的设计方法、管理信息系统的开发流程和软件工程的思想让我深刻的意识到前期基础知识的储备是多么的重要,同时也为以后的工作打下了坚实的基础
7.2不足之处在毕业设计期间,我也意识到自己的不足之处,由于自身的知识肤浅,经验不足,因此,开发的软件还有很多的不足之处,比如有些界面的代码过于类似,代码过于复杂等问题虽然在最后阶段也进行了测试和完善,但是还是有一些不足之处不过我会继续努力实现自身的价值参考文献韩超.Android经典应用程序开发[J].人力资源出版社.20115-18吴亚峰.索依娜.Android核心技术与实例讲解.北京电子工业出版社.2010BruceEckel.Thinkinginjava(java编程思想第四版.北京机械工业出版社.2011陈炜、张晓蕾、侯燕萍等.Java软件开发技术.北京人民邮电出版社.2005杨丰盛.Android应用开发揭秘.机械工业出版社.20105-7李刚.疯狂Java讲义.第二版.电子工业出版社.2012:1-720李刚.疯狂Android讲义.第三版.电子工业出版社.2015:1-650贝利.《数据结构Java语言描述》.北京清华大学出版社.
2004.
9.P66-78墨菲.《Android开发入门教程》.人民邮电出版社.2010年.P15-90汪永松.《Android平台开发之旅》.机械工业出版社2010年.P40-220余志龙.《GoogleAndroidSDK开发范例大全第2版》.人民邮电出版社.2010年.P5-240周聪、公磊.《基于Android的移动终端应用程序开发与研究》.计算机与现代化20088年P5-35梅尔.《Android2高级编程第2版》.清华大学出版社2010年.P40-77雍俊海.Java程序设计教程(第二版)[M].清华大学出版社,
2008.CayS.HorstmannGaryCoenell著.叶乃文等译.Java核心技术卷一基础知识[M].北京机械工业出版社.2008CayS.HorstmannGaryCoenell著,叶乃文等译.Java核心技术卷二核心技术[M].北京机械工业出版社.2008熊刚.基于.Android的智能手机的设计与实现[D].武汉理工大学2010用例名称对手机防盗密码模块测试用例描述分别输入几组密码和确认密码,观察是否设置成功测试用例
1、密码1234789确认密码
12347892、密码abcde确认密码a
3、密码确认密码
4、密码aa确认密码
5、密码确认密码aaa期待输出
1、设置成功
2、密码不相同,请重新输入!
3、密码不能为空
4、密码不能为空
5、密码不能为空实际输出设置成功
2、密码不相同,请重新输入!
3、密码不能为空
4、密码不能为空
5、密码不能为空用例名称对手机归属地查询模块测试用例描述输入手机号码,观察是否输出的与之相关的归属地信息测试用例在搜索框中输入15032364669在搜索框中输入15536975976期待输出
1、河北秦皇岛移动
2、山西太原联通实际输出河北秦皇岛移动
2、山西太原联通第40页,共41页。