毕业设计(论文)-基于安卓平台的手机安全卫士的设计与实现【全套源程序】(26页).doc

上传人:1595****071 文档编号:38806160 上传时间:2022-09-05 格式:DOC 页数:26 大小:271.50KB
返回 下载 相关 举报
毕业设计(论文)-基于安卓平台的手机安全卫士的设计与实现【全套源程序】(26页).doc_第1页
第1页 / 共26页
毕业设计(论文)-基于安卓平台的手机安全卫士的设计与实现【全套源程序】(26页).doc_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《毕业设计(论文)-基于安卓平台的手机安全卫士的设计与实现【全套源程序】(26页).doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于安卓平台的手机安全卫士的设计与实现【全套源程序】(26页).doc(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-毕业设计(论文)-基于安卓平台的手机安全卫士的设计与实现【全套源程序】-第 19 页 毕 业 设 计中文题目基于Android平台的手机安全卫士的设计与实现英文题目Design and Implementation of the MobileSecurity Guards Based on AndroidPlatform院 系:计算机与信息工程学院年级专业:10级信息技术外包姓 名:学 号:指导教师:职 称:讲师2014年5月毕业设计(论文)诚信声明书本人郑重声明:在毕业设计(论文)工作中严格遵守学校有关规定,恪守学术规范;我所提交的毕业设计(论文)是本人在 指导教师的指导下独立研究、撰写的

2、成果,设计(论文)中所引用他人的文字、研究成果,均已在设计(论文)中加以说明;在本人的毕业设计(论文)中未剽窃、抄袭他人的学术观点、思想和成果,未篡改实验数据。本设计(论文)和资料若有不实之处,本人愿承担一切相关责任。学生签名: 年 月 日摘 要随着智能机的诞生,手机终端的上网功能越来越普及,人们也逐渐离不开智能机和3G业务。但是,与此同时网络安全事件也随之走向手机终端,各种网银骗局、软件骗局、中毒事件等等都开始日益影响手机用户的正常生活,手机终端的安全问题与电脑客户端发生的安全问题相比是有过之而无不及的,从而手机安全问题成为了业界人士和手机用户者最为担心的问题。因此,开发一款手机平台的安全卫

3、士应用尤为必要。本系统是一款基于Android平台的手机安全卫士。主要的功能模块有手机防盗、通讯卫士、软件管理、进程管理、隐私保护、手机杀毒、系统优化、归属地显示功能模块。关键词:程序锁;手机防盗;AndroidABSTRACTWith the advent of intelligent machines, Internet-enabled handsets is becoming increasingly popular, Intelligent machines and 3G services play important role in our daily life. However,

4、network security event also will come out, such as,various online banking scam, software scam, poisoning, etc.they are beginning to increasingly affect the normal life of mobile phone users. the disadvantage of computer security issues occurring outweigh PC security problems,therefore, mobile securi

5、ty issue became most the worried problem for the industry and mobile phone users. Hence, developing Security guards of a mobile phone application is particularly necessary.This system is a Mobile Security Guards based on Android platform. The main function modules are mobile security, communications

6、 guards, software management, process management, privacy protection, mobile antivirus, system optimization and attribution display .Key Words: Program Lock; Phone Theft; Android目 录第1章引言11.1 研究背景及意义11.2 安全软件的现状11.3 本文主要工作21.4 本文的组织结构2第2章Android的相关技术介绍及分析32.1 搭建Android开发环境32.1.1 搭建Ubuntu系统下Java开发环境32

7、.1.2 搭建Ubuntu系统下Android开发环境32.2 Android项目目录结构42.3 Activity52.3.1 Activity生命周期方法52.3.2 与其他应用程序交互52.4 BroadcastReceiver62.4.1 广播接收者的分类62.4.2 注册广播接收者的两种方式62.5 Service72.5.1 什么是服务72.5.2 本地服务72.5.3 远程服务7第3章手机安全卫士分析与设计83.1 手机防盗功能需求分析与设计83.2 通讯卫士功能需求分析与设计93.3 软件管理功能需求分析与设计103.4 进程管理功能需求分析与设计103.5 程序锁功能需求分析

8、与设计103.6 手机杀毒功能需求分析与设计113.7 系统优化功能需求分析与设计123.8 自动升级功能需求分析与设计12第4章手机安全卫士详细设计与实现134.1 欢迎界面实现134.1.1 检查升级功能实现144.1.2 升级对话框显示功能实现144.2 应用程序主界面实现144.3 程序锁实现164.4 手机防盗实现184.5 手机杀毒实现194.6 系统优化实现214.7 通讯卫士实现214.8 软件管理实现234.9 高级工具实现234.10 系统设置实现25第5章结论与展望275.1 结论275.2 进一步工作的方向27参考文献28致 谢29第1章 引言1.1 研究背景及意义随着

9、智能手机和网络的完美结合,使得智能机的功能越来越强大,浏览网页、网络购物、视频对话都普及到各个手机终端,然而手机平台越广泛,存在的危险就越大,越来越多的安全问题出现在手机的日常运用中1。当我们以为只有通过网络才会使手机中毒的时候,没想到智能手机那方便快捷的数据传送方式:WIFI、蓝牙、内存卡等也使我们的手机暴露在病毒感染的危险之中。通讯设备本身所具备的便利的支付收费、支付方式都为不法份子提供了可乘之机。当人们已经习惯把手机当做一个移动存储设备,作为一个方便携带的移动终端时,风险并不仅来源于手机病毒,也来源于3G网络的的开放性。当手机不慎丢失或者是在手机数据传送的过程中用户数据很容易会被窃听、复

10、制或者篡改。这不仅会面临经济损失,还会遇到甚至更为严重的隐私泄露危险。手机作为个人通信工具,每天跟随用户,保存了很多个人隐私。并且近年来收费电话,垃圾短信,电话和短信诈骗等层出不穷2。如果能从这些方面着眼,解决用户的实际问题,才是目前真正要做的。而这一类的软安全软件目前市场上也有很多,比如,一些来电显示软件,就可以很准确的告知用户来电的归属地,一定程度上杜绝了电话欺诈;另外一些软件可以由用户自定义号码黑名单,主动的屏蔽掉骚扰电话和短信。1.2 安全软件的现状随着移动互联网的不断发展,不少互联网厂商都看中了手机安全这块蛋糕,并已占开积极布局。国内电脑安全软件厂商360早在09年就开始推出360手

11、机安全卫士。目前,包括金山、腾讯等互联网公司也都先后推出了各自的手机安全软件。学术探讨国际著名市场调查机构JuniperResearch经过调查后预测,到2011年,全球手机安全市场价值将为50亿美元,不仅仅包括杀毒软件,也包括智能手机的安全接入与安全加固3。防病毒、防垃圾、防间谍软件是市场的大头,约占40%左右,安全接入与安全加固软件约占26%4。手机安全软件的最大作用是保护用户的手机安全,但是目前市面上的安全软件都附带了很多的东西,并不是用户真正想使用的,白白占用了很多内存。而且某些功能上给用户带来的体验也不是很好,例如金山手机卫士的程序锁功能,每次用户进入应用程序都要求输入密码,如果用户

12、正在使用某软件的时候突然有人打电话过来,当通话结束后,用户还得再次输入密码,这样的设计使用户很苦恼。1.3 本文主要工作本次毕业设计所实现的手机安全卫士是基于Android系统开发的,通过研究目前Android手机用户所面临的安全问题,开发出一款手机安全与管理软件。该软件的主要能包括手机防盗,在用户手机丢失后通过绑定的安全手机号码找回手机;通讯卫士,避免用户被不必要的短信或电话骚扰;程序锁,对某些特定的应用程序加锁,当手机解锁屏幕后第一次使用应用程序需输入密码;软件管理,用户可以运行、卸载或者分享自己喜欢的应用程序给好友;进程管理,通过桌面组件快捷方式管理运行中的进程,是手机保持最佳的运行状态

13、。整个系统主要是通过Eclipse编程实现,其中编写了大量的Android自定义组件来美化系统界面。通过用例的方式说明整个系统的设计与实现和功能描述等。1.4 本文的组织结构第1章:引言,主要包括应用的研究背景、本文主要工作和论文组织结构。第2章:Android相关技术介绍及分析,主要包括Android开发环境的搭建,Android项目目录结构、Activity、BroadcastReceiver、Service介绍。第3章:手机安全卫士分析与设计,主要是通过用例表的方式分析与设计手机防盗功能、通讯卫士功能、软件管理功能、进程管理功能、系统优化功能。第4章:手机安全卫士详细设计与实现,主要包括

14、应用程序自动升级、应用程序主界面、通讯卫士、手机防盗、软件管理、进程管理、系统优化、病毒查杀、高级工具中的手机号码归属地查询和常用号码查询的实现。第5章:结论与展望,即对本文的总结,并提出可扩展的功能模块说明。第2章 Android的相关技术介绍及分析2.1 搭建Android开发环境在Android应用程序开发过程中使用的工具软件都是可以在网上免费下载的,本手机安全卫士采用的的集成开发环境为安卓官方网站提供的ADT。此外,与开发普通Java程序类似的是在Ubuntu系统下我们需要将SDK的目录添加到系统的环境变量5。具体的地址和安装步骤如下:2.1.1 搭建Ubuntu系统下Java开发环境

15、到官网下载jdk文件跳转到下载目录cd /home/bingo/下载解压到安装目录tar -zxvf jdk-7u45-linux-i586.tar.gz -C /home/bingo/install配置环境变量在/etc/profile.d目录下新建一个叫java.sh的文件sudo vi /etc/profile.d/java.sh在java.sh中加入以下内容export JAVA_HOME=/home/bingo/install/jdk1.7.0_45export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$C

16、LASSPATHexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH执行以下命令使上面的配置立即生效source /etc/profile输入以下命令,如果显示java的版本信息说明java环境配置成功java -version。2.1.2 搭建Ubuntu系统下Android开发环境到官网下载sdk跳转到下载目录cd /home/bingo/下载解压到安装目录,如果不存在则创建该文件夹mkdir /home/bingo/install如果没安装解压zip格式的软件,在Ubuntu软件中心中安装7zip和rar配置环境变量在/etc/profi

17、le.d目录下新建一个叫android.sh的文件6sudo vi /etc/profile.d/android.sh在android.sh中加入以下内容export ANDROID_SDK_ROOT=/home/bingo/install/adt-bundle-linux-x86-20131030/sdkexport PATH=$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools:$PATH执行以下命令使上面的配置立即生效source /etc/profile输入以下命令,如果显示adb的版本信息说明android环境配置成功adb

18、 version2.2 Android项目目录结构src文件夹:存放java代码的地方,通过集成开发环境单独指定源代码目录也是可以的。gen文件夹:这里面最关键的是R.java文件,这个文件是集成开发环境帮我们自动生成的,不能手动去更改它,否则系统会报错7。里面通过很多内部的静态类来指向res目录中的资源文件,如果开发中发现这个文件,那么很有可能是因为res目录总的文件内部错误或者是文件重复。assets文件夹:存放应用中需要用到的文件,例如存放初始化系统用到的数据库文件、音频资源文件等8。res文件夹:主要用来存放系统中的资源文件,例如布局文件、国际化的字符串文件、图像资源文件等。Andro

19、idManifest.xml文件:该文件主要包含了应用程序的基本信息9。如果要使用Android系统中的四大组件的话则需要在文件中进行配置,还有就是系统测试和应用也需要用到系统的一些特性,因此,这些也是需要在该文件中进行配置。default.properties文件:在应用正式发布时为了防止别人反编译自己的代码,要在该文件中进行配置。同时也记录了应用程序开发过程中的在集成开发环境中所需要的版本信息。2.3 Activity2.3.1 Activity生命周期方法onCreate方法:当Activity第一次被创建的时候,Android系统将会会执行该生命周期方法,或者是用户在没有退出该应用程序

20、的情况下切换到了其他应用程序,而恰好此时系统资源不够用了,这时系统就会回收该Activity,但是并未销毁该Activity。用户突然又切换到当前应用程序,此时系统就会重新执行该生命周期方法10。事实上,在实际开发中我们通常在这个方法中初始化界面组件和恢复当前Activity状态。onStart方法:每一次activity从用户不可见到用户可见的时候系统都会执行该生命周期方法,在某些对信息时时性要求高的应用程序中,需要在该方法中更新该界面的数据,例如青蛙卫士中的系统设置界面,为了避免用户使用Android系统自带的设置界面把服务停掉后回到青蛙卫士的系统界面是看到脏数据,每次显示该界面的时候都要

21、重新获取当前正在运行的服务。onRestart方法:当activity对用户不可见并且没有被系统销毁的情况下,如果该activity再一次对用户可见,那么系统就会执行该生命周期方法。onResume方法:当activity获取焦点时,系统会执行该生命周期方法。onPause方法:当activity失去焦点时,系统会执行该生命周期方法,失去焦点并不是指该activity对用户不可见,而是被对话框或者其他透明的activity遮罩,用户是可以看见该activity的,只是不能点击而已,该方法与onResume方法相对应。onStop方法:当activity对用户不可见时,系统将会执行该生命周期方法

22、,该方法与onStart方法是相对应的。onDestory:当activity被系统销毁时,系统会执行该生命周期方法。在实际开发中,通常在该方法内部做一些扫尾动作。例如解绑通过代码方式在该activity中绑定服务、取消在该activity中注册的内容观察者等。2.3.2 与其他应用程序交互在我们实际开发的应用程序中,很少有应用程序是单独存在的,或多或少都会使用到第三方应用程序提供的数据,例如实习期间做的一个远程会议软件,需要网服务端上传照片,为了节省开发时间就是直接使用系统自带的相机拍照。这里就已这个例子来介绍Android系统中各应用程序之间的交互。在我们自己应用程序的activity中,

23、把要拍摄照片的全路径名存放在intent中,并且在intent中加入照相的动作和类型,(系统会筛选出手机中所已安装的照相机供用户选择),将该intent对象作为参数传递给startActivityForResult方法。程序中也调用系统自带的相册从相册中选择图片上传,但是相册和相机返回的数据是不同的,所有还需要传递一个请求码给startActivityForResult方法来区分当前操作类型,以便在onActivityResult方法中根据请求码的不同来出来不同的数据11。2.4 BroadcastReceiver2.4.1 广播接收者的分类普通广播:这种广播并不是同步传输的,并且可以被任意广

24、播接收者收听。这种广播的好处是效率非常高。缺点是任意收听该广播的广播接收者都改变不了该广播中所传递的数据,同时也不能阻止别的广播接收者收听该广播。有序广播:该广播是依照广播接收者的优先级次序,在收听了该广播的广播接收者中根据该数据依次传递。例如有三个广播接收者X,Y,Z,优先级是X Y Z。那这个广播首先传递给X,其次再传给Y,最后传递给Z。每个广播接收者都可接结束广播的传递,比如Y结束了广播的传递,Z就不能收到广播消息。另外,X收到广播消息后可以对消息内容进行更改,当广播传递到Y那里的时候,广播接收者Y从广播中取到的数据就是广播接收者X放进去的数据。例如,在Android系统中接收短信广播就

25、是有序广播。2.4.2 注册广播接收者的两种方式广播接收者注册方式的不同会影响其存活的时间,用清单文件配置的方式注册的广播接收者可以在其应用程序没有运行的时候继续收听广播12,例如系统自带的电池电量不足的广播接收者,不需要专程打开某个应用程序来监听它。还有就是通过代码的方式注册广播接收者,这种方式注册的广播接收者只有在其应用程序运行的时候才能收听广播,在实际开发中的应用场景是时时监听广播事件来更新界面上显示的数据,当界面关闭后该广播接收者就没有存活的意思,所以就不用配置在清单文件中。2.5 Service2.5.1 什么是服务Android中的服务和windows中的服务类似,两者都是运行在后

26、台用户看不见的,其存在的级别会比activity高一些,同样的也是需要在清单文件中进行配置,在主进程中运行。正因为是运行在主进程里的,所以不能直接在服务中执行需要运行很久的操作,应该单独开一个子线程来做这些长时间运行的操作,例如在后台播放音乐,在导航软件中时时获取最新的位置信息等。2.5.2 本地服务本地服务,顾名思义就是在某一个应用程序内容运行的服务。在服务外部通过执行startService方法来开起服务和通过执行stopService方法来停止服务。在服务的内部可以通过执行stopSelf或者stopSelfResult来停止服务。值得注意的是,同一时刻同一个服务只会有一个实例存在。2.

27、5.3 远程服务远程服务,主要是应用在Android系统中各个应用之间的通信当中,通过接口并且暴露借口给其他应用程序,供其他应用程序调用。其客户端连接到服务点是通过该连接来执行服务里的方法。在执行bindService()方法连接服务时,如果是在activity中绑定的服务,则需要在activity的onDestory()方法中执行unbindService()方法来取消绑定的服务13。要说明的是,其中多个客户端是可以绑定同一个服务的,但一个服务只会被开起一次。第3章 手机安全卫士分析与设计3.1 手机防盗功能需求分析与设计落地有声:由于我的眼镜是透明的,经常一觉睡醒找不到眼镜,每次这个时候都

28、想能通过手机控制眼镜发出声音以便更快的找到眼镜。落地有声就是由这个想法演变来的,如果用户的爱机刚被盗不久,那么手机还在用户附近的,如果此时设定的安全号码手机可以用,只需要用安全手机发送一条警报指令给丢失的手机,那么丢失的手机就会播放报警音乐,以便用户在第一时间找回丢失的爱机。换卡先知:Android手机换SIM卡都需要重启手机,每次手机重启的时候判断当前SIM卡的串号是否和被保护的SIM卡的串号是否相同,如果不相同,则手机将在后台自动发送短信给安全手机,这样就在小偷不知道的情况下第一时间得知小偷的手机号码,大大提升找回手机的可能性。远程开启防盗:当用户爱机没有开起防盗功能的时候,使用任意的手机

29、发送应用和密码和远程开启防盗功能命令时可以开起防盗功能,并设置当前手机号码安全手机号码,从而为找回手机打下基础。通信拦截:获取丢失的爱机的外拨电话、来电号码、外发短信和收到的短信,并转发给安全手机。这样就可以爱机丢失的第一时间和盗窃者取得联系,也获取了盗窃者朋友的手机号码,进一步增加找回手机的可能性,也大大影响了丢失爱机的正常使用,使盗窃者觉得丢失的爱机拿来也无用,还给手机主人好些。保护隐私:当用户的爱机丢失时,通过短信发送特定的指令,可将丢失手机通讯录里面的所有联系人、通话记录以及短信内容全部删除,及时保护用户的相关隐私信息。充电防盗:在某些特殊的场合,用户的爱机急需充电,而用户又不在手机周

30、围,这时开启手机充电防盗就能很好地监控手机的状况,一旦有其他人蓄意拔出正在充电的手机,手机就会立即发出警报音,并同时发送短信通知安全手机。设置安全号码用例说明表(表3.1)、设置报警指令用例说明表(表3.2)、远程开启防盗指令用例说明表(表3.3):表 3.1设置安全号码用例说明表用例名称:设置安全号码用例参与者:用户目标:设置手机丢失后找回手机的安全手机号码 前置条件:进入应用程序主界面基本事件流:1. 进入设置手机防盗界面2. 点击安全号码设置条目3. 在弹出的安全号码对话框中输入安全号码4. 点击确定按钮完成安全号码的设置表 3.2设置报警指令用例说明表用例名称:设置报警指令用例参与者:

31、用户目标:设置让手机发出报警音的指令 前置条件:进入应用程序主界面基本事件流:1. 进入设置手机防盗界面2. 点击设置报警指令条目3. 在弹出的报警指令对话框中输入报警指令4. 点击确定按钮保存报警指令表3.3设置远程开启防盗指令用例说明表用例名称:设置远程开起防盗指令用例参与者:用户目标:设置远程开起手机防盗功能指令 前置条件:进入应用程序主界面基本事件流:1. 进入设置手机防盗界面2. 点击设置远程开启防盗指令条目3. 在弹出的远程开启防盗指令对话框中输入远程开起防盗指令4. 点击确定按钮保存远程开起防盗指令3.2 通讯卫士功能需求分析与设计电话拦截:将指定的号码加入电话拦截列表中,那么下

32、次在该号码来电的时候不会通知用户,直接在后台挂断电话,防止用户被别人打骚扰电话。短信拦截:将指定的号码加入到短信拦截列表中,那么下次在该号码发送短信来的时候删除这条短信,避免用户被垃圾信息骚扰。全部拦截:将指定的号码加入到全部截列表中,那么下次该号码发送来的短信和拨打的电话都会被阻止调,避免用户被骚扰。添加黑名单用例说明表(表3.5):表 3.5添加黑名单用例说明表用例名称:添加黑名单用例参与者:用户目标:添加黑名单号码到黑名单列表中前置条件:进入应用程序主界面基本事件流:1.进入通讯卫士界面2.点击添加按钮3.在弹出对话框中输入黑名单号码4.在弹出对话框中选择拦截模式5.点击确定按钮完成黑名

33、单号码的添加3.3 软件管理功能需求分析与设计按用户程序和系统程序分类管理手机中的应用程序,可以查看、执行、卸载和分享用户程序。而系统程序只能被查看和执行。3.4 进程管理功能需求分析与设计目前市面上的某些Android手机性能并不是很好,多开几个应用程序就会很卡,而正在运行的程序中有些并不是用户所需要的,通过系统服务获得系统中正在运行的应用总数和手机中剩下的内存信息以及运行中进程详细信息展示给用户,然后提供后台进程停止选项,根据用户的选择终止特定的应用程序。并且提供一个桌面组件给用户,使其能在桌面上点一个按钮就能清理正在运行的应用程序。进程管理用例说明表(表3.6):表 3.6进程管理功能用

34、例说明表用例名称:进程管理功能用用例参与者:用户目标:根据用户的操作结束特定的进程前置条件:进入应用程序主界面基本事件流:1.进入进程管理界面2.选择需要停止的应用程序3.单击停止按钮结束所选进程3.5 程序锁功能需求分析与设计在日常生活中,好友之间可能会互相借手机打电话或者是玩游戏,但是用户不想让好友看自己手机里的某些私密应用程序,如果给手机的锁屏加上密码,那么每次解锁屏幕的时候都得输入密码,自己用着也会麻烦,而且手机解锁屏幕后给玩游戏的话好友可以操作手机上的任意一个应用程序。程序锁功能就是为了解决以上问题,用户不必给屏幕加密码锁,只需要给特定的应用加上应用锁就可以了,只有解屏后第一次进入加

35、锁的应用程序才会要求输入程序锁密码,在应用解锁后只要没有锁屏的情况下,即使用户退出应用程序界面再次进入时不需要输入密码,此时如果好友再让你借手机给他玩,那么用户只需要把屏幕关闭后给他,除了用户的加锁程序,其他程序好友都可以玩。设置程序锁状态用例说明表(表3.7)、添加需要保护的应用用例说明表(表3.8)、移除已加锁应用用例说明表(表3.9):表 3.7设置程序锁状态用例说明表用例名称:设置程序锁状态用例参与者:用户目标:按照用户指定的方式设置程序锁状态前置条件:进入应用程序主界面基本事件流:1. 进入设置中心界面2. 点击程序锁条目,选择程序锁条目设置程序锁的状态表 3.8添加需要保护的应用用

36、例说明表用例名称:添加需要保护的应用用例参与者:用户目标:添加应用程序到已加锁应用列表中前置条件:进入应用程序主界面基本事件流:1. 进入程序锁界面2. 点击未加锁列表中的应用条目表 3.9移除已加锁应用用例说明表用例名称:移除已经加锁的应用用例参与者:用户目标:从已加锁应用列表中移除应用程序前置条件:进入应用程序主界面基本事件流:1. 进入程序锁界面2. 点击已加锁标签3. 点击已加锁列表中的应用条目3.6 手机杀毒功能需求分析与设计手机安全厂商和各大应用市场收集了市面上常见的病毒软件,本功能需要收集他们所提供的病毒软件的包名,将其存储到本地数据库中,在执行病毒扫描的时候将手机中所有已安装的

37、用户程序包名与病毒数据库中的包名进行对比,如果相同则询问用户是否卸载该应用程序。3.7 系统优化功能需求分析与设计清理应用程序缓存在手机中的缓存数据,但是这需要具备root权限,所以本应用的实现方式打开系统自带的查看应用程序详细信息界面,在该界面中清理缓存数据。3.8 自动升级功能需求分析与设计升级方式用例说明表(表3.10)、自动升级用例说明表(表3.11):表 3.10升级方式用例说明表用例名称:应用升级方式用例参与者:用户目标:按照用户指定的方式设置应用升级方式前置条件:进入应用程序主界面基本事件流:1. 进入设置中心界面2. 点击自动更新条目,选择升级方式表 3.11自动升级用例说明表

38、用例名称:青蛙卫士自动升级用例参与者:用户目标:在wifi打开的情况下,按照用户指定的升级方式升级应用程序前置条件:进入安全卫士欢迎界面基本事件流:1.用户允许手机安全卫士应用程序2.程序自动判断应用程序当前版本和服务器最新版本,并显示3.在弹出的对话框中选择立即更新第4章 手机安全卫士详细设计与实现4.1 欢迎界面实现该界面的主要功能是显示软件升级信息和初始化应用程序,如果服务器的最新版本和当前版本相同则显示应用的当前版本信息,否则显示提示升级信息对话框,用户根据需要自行决定是否升级。欢迎界面提示用户升级应用的实现如图4.1所示:图 4.1欢迎界面提示用户升级应用欢迎界面正在升级应用程序的实

39、现如图4.2所示:图 4.2欢迎界面正在升级应用4.1.1 检查升级功能实现判断当前用户是否设置了自动更新应用程序,手机有没有链接wifi,如果有设置自动更新并且已链接wifi,则从服务器获取最新版本信息和本地版本对比,如果本地版本号低于服务器版本号,则弹出升级对话框供用户选择是否立即升级。4.1.2 升级对话框显示功能实现升级对话框采用自定义的对话框,创建一个自定义对话框类继承于Dialog类,其关键是编写自定义布局文件和重写构造方法,实现该对话框能在应用的其他功能模块中能重用。首先通过抽取样式文件,达到样式代码的重用,然后通过重写构造方法,根据不同的应用场景传递不同的参数,达到自定义对话框

40、的重用。4.2 应用程序主界面实现应用程序主页是展示程序的各个功能模块,从而使用户能够快速进入到自己想使用的功能。该界面的另一个很重要的功能就是修改程序锁密码,在该界面连续三次点击菜单按钮弹出修改密码对话框。其中,应用程序主界面密码认证的实现如图4.3所示:图 4.3应用程序主界面密码认证应用程序主界面功能列表的实现如图4.4所示:图 4.4应用程序主界面功能列表4.3 程序锁实现通过帧布局实现Android界面的复杂布局,在页面的底部放置两个按钮控制FrameLayout里的两个ListView的显示与否,模拟出TabHost的效果。由于已加锁应用和未加锁应用列表极其相似,所以这里只需在编写

41、一个ListView适配器,在适配器中通过一个flag标记区分当前适配器是未加锁适配器还是已加锁适配器。为了提升程序锁的运行效率,不每次都从数据库中获取最新已加锁应用程序列表,而是用两个集合来分表保存已加锁应用程序和临时不需要保护的应用程序,在每一次收到锁屏事件的时候清空临时不需要保护的集合,在解锁某一个应用程序的时候将该应用程序加入到临时停止保护的集合中。需要注意的是,这里需要通过代码的方式注册监听锁屏事件的广播和解屏事件的广播。已加锁应用界面的实现如图4.5所示:图 4.5已加锁应用界面未加锁应用界面的实现如图4.6所示:图 4.6未加锁应用界面程序锁密码认证界面的实现如图4.7所示:图

42、4.7 程序锁密码认证界面4.4 手机防盗实现手机防盗界面主要是编写ListView及其适配器,根据用户点击不同的条目弹出不同类型的自定义对话框,有些对话框功能不同,但是内容的格式完全相同,这就需要重写自定义度画框的构造方法,根据传入参数的不同显示不同内容和类型的自定义对话框。手机防盗功能列表界面的实现如图4.8所示:图 4.8手机防盗功能列表界面手机防盗界面设置安全手机号码界面的实现如图4.9所示:图 4.9手机防盗绑定安全手机号码界面4.5 手机杀毒实现在Android系统中,每一个应用程序都有一个签名信息。通过反编译360手机安全卫士,获取离线病毒数据库,该数据库中存放了世面上已经存在的

43、病毒应用的签名的MD5信息。当用户进入手机杀毒界面时,通过系统API提供的包管理器获取系统中已安装应用的签名MD5信息,并与离线数据库中的信息对比,如果该签名信息在病毒数据库中存在,则弹出对话框提示用户卸载包含病毒信息应用的应用程序。正在扫描病毒界面的实现如图4.10所示:图 4.10正在扫描病毒界面发现病毒应用提示用户卸载界面的实现如图4.11所示:图 4.11发现病毒应用提示用户卸载界面4.6 系统优化实现通过系统API提供的包管理器获取每个应用程序所占的存储空间,并通过ListView展示给用户,由于Google工程师为了提升Android系统的安全性,没有Root权限不能删除其他应用的

44、数据信息,本应用的实现方式是当用户点击某个应用条目时,通过显式意图跳转到系统自带应用数据信息清理界面清理缓存数据。系统优化界面的实现如图4.12所示:图 4.12系统优化界面4.7 通讯卫士实现通讯卫士界面主要也是便表列表和适配器,在注册监听电话到来和短信到来事件的广播接收者时,需要将其优先级设置到最大值,以确保本应用最先收到这两个广播事件,在第一时间挂断电话以及删除最近一条通话记录和短信记录,避免用户看到脏数据。黑名单管理界面的实现如图4.13所示:图 4.13黑名单管理界面添加黑名单界面的实现如图4.14所示图 4.14添加黑名单界面4.8 软件管理实现通过系统API提供的包管理器,获取手

45、机中已安装的应用程序并通过ListView展示给用户,当用户点击某个应用条目后,通过弹出PupupWindow显示功能对话框。当用户点击运行按钮时,通过显式意图运行某个应用程序。当用户点击卸载按钮时,通过隐式意图调用系统软件管理器卸载软件。当用户点击分享按钮时,通过调用系统短信发送器发送要分享的应用的基本信息以及在GooglePlay上的下载地址给好友。软件管理界面的实现如图4.15所示:图 4.15软件管理界面4.9 高级工具实现高级工具主要提供手机号码归属地查询和常用号码查询功能。通过反编译QQ通讯录,获取手机号码归属地数据库,将用户输入的手机号码与该数据库中的数据进行匹配获取手机号码归属

46、地并显示给用户。通过互联网获取常用手机号码,并录入到自定义数据库中,用户查看常用号码时将该数据库中的数据显示给用户,当用户点击通用号码条目时,通过隐式意图跳转拨号界面。号码归属地查询界面的实现如图4.15所示:图 4.16号码归属地查询界面常用号码查询界面的实现如图4.16所示:图 4.17常用号码查询界面4.10 系统设置实现系统设置界面的难点是通过自定义组合控件的方式实现自定义view,从而使每一个设置条目只需要引用一个组件,实现代码的复用。为了防止用户打开android系统自带的设置界面关掉安全卫士中的某些服务出现脏数据,每次显示该界面的时候必须在onStart方法内重新获取最新数据。系统设置界面的实现如图4.18所示:图 4.18系统设置界面来电归属地运行效果界面的实现如图4.19所示:图 4.19来电归属地运行效果第5章 结论与展望5.1 结论半年前,对毕业后有着强烈意愿从事Android开发工作的我,选择了基于Android平台的手机安全卫士的设计与实现这个课题作为我的毕业课题,在长达三个月的Android实习工作中学习到了从事Android开发工作必备的一些技能,例如屏幕适配、兼容

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁