Android毕业设计——基于Android+Eclipse的手机安全卫士设计与实现(毕业论文+程序源码)——手机安全卫士

基于Android+Eclipse的手机安全卫士设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于Android+Eclipse的手机安全卫士设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦

文章目录:

1、项目简介

  1. 随着智能机的诞生,手机终端的上网功能越来越普及,人们也逐渐离不开智能机和3G业务。但是,与此同时网络安全事件也随之走向手机终端,各种网银骗局、软件骗局、中毒事件等等都开始日益影响手机用户的正常生活,手机终端的安全问题与电脑客户端发生的安全问题相比是有过之而无不及的,从而手机安全问题成为了业界人士和手机用户者最为担心的问题。因此,开发一款手机平台的安全卫士应用尤为必要。
  2. 本系统是一款基于Android平台的手机安全卫士。主要的功能模块有手机防盗、通讯卫士、软件管理、进程管理、隐私保护、手机杀毒、系统优化、归属地显示功能模块。


2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:11737个字33页
包含内容:全套源码+配整论文
开题报告、论文答辩、课题报告等ppt模板推荐下载方式:
在这里插入图片描述


3、关键词

程序锁;手机防盗;Android

4、毕设简介

提示:以下为毕业论文的简略介绍,项目完整源码及完整毕业论文下载地址见文末。

第1章 引言
1.1 研究背景及意义
随着智能手机和网络的完美结合,使得智能机的功能越来越强大,浏览网页、网络购物、视频对话都普及到各个手机终端,然而手机平台越广泛,存在的危险就越大,越来越多的安全问题出现在手机的日常运用中[1]。当我们以为只有通过网络才会使手机中毒的时候,没想到智能手机那方便快捷的数据传送方式:WIFI、蓝牙、内存卡等也使我们的手机暴露在病毒感染的危险之中。通讯设备本身所具备的便利的支付收费、支付方式都为不法份子提供了可乘之机。

当人们已经习惯把手机当做一个移动存储设备,作为一个方便携带的移动终端时,风险并不仅来源于手机病毒,也来源于3G网络的的开放性。当手机不慎丢失或者是在手机数据传送的过程中用户数据很容易会被窃听、复制或者篡改。这不仅会面临经济损失,还会遇到甚至更为严重的隐私泄露危险。

手机作为个人通信工具,每天跟随用户,保存了很多个人隐私。并且近年来收费电话,垃圾短信,电话和短信诈骗等层出不穷[2]。如果能从这些方面着眼,解决用户的实际问题,才是目前真正要做的。而这一类的软安全软件目前市场上也有很多,比如,一些来电显示软件,就可以很准确的告知用户来电的归属地,一定程度上杜绝了电话欺诈;另外一些软件可以由用户自定义号码黑名单,主动的屏蔽掉骚扰电话和短信。

1.2 安全软件的现状
随着移动互联网的不断发展,不少互联网厂商都看中了手机安全这块蛋糕,并已占开积极布局。国内电脑安全软件厂商360早在09年就开始推出360手机安全卫士。目前,包括金山、腾讯等互联网公司也都先后推出了各自的手机安全软件。

学术探讨国际著名市场调查机构Juniper Research经过调查后预测,到2011年,全球手机安全市场价值将为50亿美元,不仅仅包括杀毒软件,也包括智能手机的安全接入与安全加固[3]。防病毒、防垃圾、防间谍软件是市场的大头,约占40%左右,安全接入与安全加固软件约占26%[4]。

手机安全软件的最大作用是保护用户的手机安全,但是目前市面上的安全软件都附带了很多的东西,并不是用户真正想使用的,白白占用了很多内存。而且某些功能上给用户带来的体验也不是很好,例如金山手机卫士的程序锁功能,每次用户进入应用程序都要求输入密码,如果用户正在使用某软件的时候突然有人打电话过来,当通话结束后,用户还得再次输入密码,这样的设计使用户很苦恼。

1.3 本文主要工作
本次毕业设计所实现的手机安全卫士是基于Android系统开发的,通过研究目前Android手机用户所面临的安全问题,开发出一款手机安全与管理软件。该软件的主要能包括手机防盗,在用户手机丢失后通过绑定的安全手机号码找回手机;通讯卫士,避免用户被不必要的短信或电话骚扰;程序锁,对某些特定的应用程序加锁,当手机解锁屏幕后第一次使用应用程序需输入密码;软件管理,用户可以运行、卸载或者分享自己喜欢的应用程序给好友;进程管理,通过桌面组件快捷方式管理运行中的进程,是手机保持最佳的运行状态。整个系统主要是通过Eclipse编程实现,其中编写了大量的Android自定义组件来美化系统界面。通过用例的方式说明整个系统的设计与实现和功能描述等。

1.4 本文的组织结构
第1章:引言,主要包括应用的研究背景、本文主要工作和论文组织结构。
第2章:Android相关技术介绍及分析,主要包括Android开发环境的搭建,Android项目目录结构、Activity、BroadcastReceiver、Service介绍。
第3章:手机安全卫士分析与设计,主要是通过用例表的方式分析与设计手机防盗功能、通讯卫士功能、软件管理功能、进程管理功能、系统优化功能。
第4章:手机安全卫士详细设计与实现,主要包括应用程序自动升级、应用程序主界面、通讯卫士、手机防盗、软件管理、进程管理、系统优化、病毒查杀、高级工具中的手机号码归属地查询和常用号码查询的实现。
第5章:结论与展望,即对本文的总结,并提出可扩展的功能模块说明。

第2章 Android的相关技术介绍及分析
2.1 搭建Android开发环境
在Android应用程序开发过程中使用的工具软件都是可以在网上免费下载的,本手机安全卫士采用的的集成开发环境为安卓官方网站提供的ADT。此外,与开发普通Java程序类似的是在Ubuntu系统下我们需要将SDK的目录添加到系统的环境变量[5]。具体的地址和安装步骤如下:
2.1.1 搭建Ubuntu系统下Java开发环境
到官网下载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_45
export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar: C L A S S P A T H e x p o r t P A T H = CLASSPATH export PATH= CLASSPATHexportPATH=JAVA_HOME/bin: J A V A H O M E / j r e / b i n : JAVA_HOME/jre/bin: JAVAHOME/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/profile.d目录下新建一个叫android.sh的文件[6]
sudo vi /etc/profile.d/android.sh
在android.sh中加入以下内容
export ANDROID_SDK_ROOT=/home/bingo/install/adt-bundle-linux-x86-20131030/sdk
export PATH= A N D R O I D S D K R O O T / t o o l s : ANDROID_SDK_ROOT/tools: ANDROIDSDKROOT/tools:ANDROID_SDK_ROOT/platform-tools:$PATH
执行以下命令使上面的配置立即生效
source /etc/profile
输入以下命令,如果显示adb的版本信息说明android环境配置成功
adb version

2.2 Android项目目录结构
src文件夹:存放java代码的地方,通过集成开发环境单独指定源代码目录也是可以的。
gen文件夹:这里面最关键的是R.java文件,这个文件是集成开发环境帮我们自动生成的,不能手动去更改它,否则系统会报错[7]。里面通过很多内部的静态类来指向res目录中的资源文件,如果开发中发现这个文件,那么很有可能是因为res目录总的文件内部错误或者是文件重复。
assets文件夹:存放应用中需要用到的文件,例如存放初始化系统用到的数据库文件、音频资源文件等[8]。
res文件夹:主要用来存放系统中的资源文件,例如布局文件、国际化的字符串文件、图像资源文件等。
AndroidManifest.xml文件:该文件主要包含了应用程序的基本信息[9]。如果要使用Android系统中的四大组件的话则需要在文件中进行配置,还有就是系统测试和应用也需要用到系统的一些特性,因此,这些也是需要在该文件中进行配置。
default.properties文件:在应用正式发布时为了防止别人反编译自己的代码,要在该文件中进行配置。同时也记录了应用程序开发过程中的在集成开发环境中所需要的版本信息。

2.3 Activity
2.3.1 Activity生命周期方法
onCreate方法:当Activity第一次被创建的时候,Android系统将会会执行该生命周期方法,或者是用户在没有退出该应用程序的情况下切换到了其他应用程序,而恰好此时系统资源不够用了,这时系统就会回收该Activity,但是并未销毁该Activity。用户突然又切换到当前应用程序,此时系统就会重新执行该生命周期方法[10]。事实上,在实际开发中我们通常在这个方法中初始化界面组件和恢复当前Activity状态。

onStart方法:每一次activity从用户不可见到用户可见的时候系统都会执行该生命周期方法,在某些对信息时时性要求高的应用程序中,需要在该方法中更新该界面的数据,例如青蛙卫士中的系统设置界面,为了避免用户使用Android系统自带的设置界面把服务停掉后回到青蛙卫士的系统界面是看到脏数据,每次显示该界面的时候都要重新获取当前正在运行的服务。

onRestart方法:当activity对用户不可见并且没有被系统销毁的情况下,如果该activity再一次对用户可见,那么系统就会执行该生命周期方法。
onResume方法:当activity获取焦点时,系统会执行该生命周期方法。

onPause方法:当activity失去焦点时,系统会执行该生命周期方法,失去焦点并不是指该activity对用户不可见,而是被对话框或者其他透明的activity遮罩,用户是可以看见该activity的,只是不能点击而已,该方法与onResume方法相对应。
onStop方法:当activity对用户不可见时,系统将会执行该生命周期方法,该方法与onStart方法是相对应的。

onDestory:当activity被系统销毁时,系统会执行该生命周期方法。在实际开发中,通常在该方法内部做一些扫尾动作。例如解绑通过代码方式在该activity中绑定服务、取消在该activity中注册的内容观察者等。

2.3.2 与其他应用程序交互
在我们实际开发的应用程序中,很少有应用程序是单独存在的,或多或少都会使用到第三方应用程序提供的数据,例如实习期间做的一个远程会议软件,需要网服务端上传照片,为了节省开发时间就是直接使用系统自带的相机拍照。这里就已这个例子来介绍Android系统中各应用程序之间的交互。在我们自己应用程序的activity中,把要拍摄照片的全路径名存放在intent中,并且在intent中加入照相的动作和类型,(系统会筛选出手机中所已安装的照相机供用户选择),将该intent对象作为参数传递给startActivityForResult方法。程序中也调用系统自带的相册从相册中选择图片上传,但是相册和相机返回的数据是不同的,所有还需要传递一个请求码给startActivityForResult方法来区分当前操作类型,以便在onActivityResult方法中根据请求码的不同来出来不同的数据[11]。

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

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

2.5 Service
2.5.1 什么是服务
Android中的服务和windows中的服务类似,两者都是运行在后台用户看不见的,其存在的级别会比activity高一些,同样的也是需要在清单文件中进行配置,在主进程中运行。正因为是运行在主进程里的,所以不能直接在服务中执行需要运行很久的操作,应该单独开一个子线程来做这些长时间运行的操作,例如在后台播放音乐,在导航软件中时时获取最新的位置信息等。

2.5.2 本地服务
本地服务,顾名思义就是在某一个应用程序内容运行的服务。在服务外部通过执行startService方法来开起服务和通过执行stopService方法来停止服务。在服务的内部可以通过执行stopSelf或者stopSelfResult来停止服务。值得注意的是,同一时刻同一个服务只会有一个实例存在。

2.5.3 远程服务
远程服务,主要是应用在Android系统中各个应用之间的通信当中,通过接口并且暴露借口给其他应用程序,供其他应用程序调用。其客户端连接到服务点是通过该连接来执行服务里的方法。在执行bindService()方法连接服务时,如果是在activity中绑定的服务,则需要在activity的onDestory()方法中执行unbindService()方法来取消绑定的服务[13]。要说明的是,其中多个客户端是可以绑定同一个服务的,但一个服务只会被开起一次。

第3章 手机安全卫士分析与设计
3.1 手机防盗功能需求分析与设计
落地有声:由于我的眼镜是透明的,经常一觉睡醒找不到眼镜,每次这个时候都想能通过手机控制眼镜发出声音以便更快的找到眼镜。落地有声就是由这个想法演变来的,如果用户的爱机刚被盗不久,那么手机还在用户附近的,如果此时设定的安全号码手机可以用,只需要用安全手机发送一条警报指令给丢失的手机,那么丢失的手机就会播放报警音乐,以便用户在第一时间找回丢失的爱机。

换卡先知:Android手机换SIM卡都需要重启手机,每次手机重启的时候判断当前SIM卡的串号是否和被保护的SIM卡的串号是否相同,如果不相同,则手机将在后台自动发送短信给安全手机,这样就在小偷不知道的情况下第一时间得知小偷的手机号码,大大提升找回手机的可能性。

远程开启防盗:当用户爱机没有开起防盗功能的时候,使用任意的手机发送应用和密码和远程开启防盗功能命令时可以开起防盗功能,并设置当前手机号码安全手机号码,从而为找回手机打下基础。

通信拦截:获取丢失的爱机的外拨电话、来电号码、外发短信和收到的短信,并转发给安全手机。这样就可以爱机丢失的第一时间和盗窃者取得联系,也获取了盗窃者朋友的手机号码,进一步增加找回手机的可能性,也大大影响了丢失爱机的正常使用,使盗窃者觉得丢失的爱机拿来也无用,还给手机主人好些。

保护隐私:当用户的爱机丢失时,通过短信发送特定的指令,可将丢失手机通讯录里面的所有联系人、通话记录以及短信内容全部删除,及时保护用户的相关隐私信息。

充电防盗:在某些特殊的场合,用户的爱机急需充电,而用户又不在手机周围,这时开启手机充电防盗就能很好地监控手机的状况,一旦有其他人蓄意拔出正在充电的手机,手机就会立即发出警报音,并同时发送短信通知安全手机。

设置安全号码用例说明表(表3.1)、设置报警指令用例说明表(表3.2)、远程开启防盗指令用例说明表(表3.3):
在这里插入图片描述
在这里插入图片描述

3.2 通讯卫士功能需求分析与设计
电话拦截:将指定的号码加入电话拦截列表中,那么下次在该号码来电的时候不会通知用户,直接在后台挂断电话,防止用户被别人打骚扰电话。
短信拦截:将指定的号码加入到短信拦截列表中,那么下次在该号码发送短信来的时候删除这条短信,避免用户被垃圾信息骚扰。
全部拦截:将指定的号码加入到全部截列表中,那么下次该号码发送来的短信和拨打的电话都会被阻止调,避免用户被骚扰。
添加黑名单用例说明表(表3.5):
在这里插入图片描述

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

2.选择需要停止的应用程序
3.单击停止按钮结束所选进程
3.5 程序锁功能需求分析与设计
在日常生活中,好友之间可能会互相借手机打电话或者是玩游戏,但是用户不想让好友看自己手机里的某些私密应用程序,如果给手机的锁屏加上密码,那么每次解锁屏幕的时候都得输入密码,自己用着也会麻烦,而且手机解锁屏幕后给玩游戏的话好友可以操作手机上的任意一个应用程序。
程序锁功能就是为了解决以上问题,用户不必给屏幕加密码锁,只需要给特定的应用加上应用锁就可以了,只有解屏后第一次进入加锁的应用程序才会要求输入程序锁密码,在应用解锁后只要没有锁屏的情况下,即使用户退出应用程序界面再次进入时不需要输入密码,此时如果好友再让你借手机给他玩,那么用户只需要把屏幕关闭后给他,除了用户的加锁程序,其他程序好友都可以玩。

设置程序锁状态用例说明表(表3.7)、添加需要保护的应用用例说明表(表3.8)、移除已加锁应用用例说明表(表3.9):
在这里插入图片描述

3.6 手机杀毒功能需求分析与设计
手机安全厂商和各大应用市场收集了市面上常见的病毒软件,本功能需要收集他们所提供的病毒软件的包名,将其存储到本地数据库中,在执行病毒扫描的时候将手机中所有已安装的用户程序包名与病毒数据库中的包名进行对比,如果相同则询问用户是否卸载该应用程序。

3.7 系统优化功能需求分析与设计
清理应用程序缓存在手机中的缓存数据,但是这需要具备root权限,所以本应用的实现方式打开系统自带的查看应用程序详细信息界面,在该界面中清理缓存数据。
3.8 自动升级功能需求分析与设计
升级方式用例说明表(表3.10)、自动升级用例说明表(表3.11):
在这里插入图片描述

第4章 手机安全卫士详细设计与实现
4.1 欢迎界面实现
该界面的主要功能是显示软件升级信息和初始化应用程序,如果服务器的最新版本和当前版本相同则显示应用的当前版本信息,否则显示提示升级信息对话框,用户根据需要自行决定是否升级。
欢迎界面提示用户升级应用的实现如图4.1所示:
在这里插入图片描述

图 4.1欢迎界面提示用户升级应用

欢迎界面正在升级应用程序的实现如图4.2所示:
在这里插入图片描述

图 4.2欢迎界面正在升级应用
4.1.1 检查升级功能实现
判断当前用户是否设置了自动更新应用程序,手机有没有链接wifi,如果有设置自动更新并且已链接wifi,则从服务器获取最新版本信息和本地版本对比,如果本地版本号低于服务器版本号,则弹出升级对话框供用户选择是否立即升级。
4.1.2 升级对话框显示功能实现
升级对话框采用自定义的对话框,创建一个自定义对话框类继承于Dialog类,其关键是编写自定义布局文件和重写构造方法,实现该对话框能在应用的其他功能模块中能重用。
首先通过抽取样式文件,达到样式代码的重用,然后通过重写构造方法,根据不同的应用场景传递不同的参数,达到自定义对话框的重用。
4.2 应用程序主界面实现
应用程序主页是展示程序的各个功能模块,从而使用户能够快速进入到自己想使用的功能。该界面的另一个很重要的功能就是修改程序锁密码,在该界面连续三次点击菜单按钮弹出修改密码对话框。
其中,应用程序主界面密码认证的实现如图4.3所示:
在这里插入图片描述

图 4.3应用程序主界面密码认证

应用程序主界面功能列表的实现如图4.4所示:
在这里插入图片描述

图 4.4应用程序主界面功能列表
4.3 程序锁实现
通过帧布局实现Android界面的复杂布局,在页面的底部放置两个按钮控制FrameLayout里的两个ListView的显示与否,模拟出TabHost的效果。由于已加锁应用和未加锁应用列表极其相似,所以这里只需在编写一个ListView适配器,在适配器中通过一个flag标记区分当前适配器是未加锁适配器还是已加锁适配器。为了提升程序锁的运行效率,不每次都从数据库中获取最新已加锁应用程序列表,而是用两个集合来分表保存已加锁应用程序和临时不需要保护的应用程序,在每一次收到锁屏事件的时候清空临时不需要保护的集合,在解锁某一个应用程序的时候将该应用程序加入到临时停止保护的集合中。需要注意的是,这里需要通过代码的方式注册监听锁屏事件的广播和解屏事件的广播。
已加锁应用界面的实现如图4.5所示:
在这里插入图片描述

图 4.5已加锁应用界面

未加锁应用界面的实现如图4.6所示:
在这里插入图片描述

图 4.6未加锁应用界面

程序锁密码认证界面的实现如图4.7所示:
在这里插入图片描述

图 4.7 程序锁密码认证界面
4.4 手机防盗实现
手机防盗界面主要是编写ListView及其适配器,根据用户点击不同的条目弹出不同类型的自定义对话框,有些对话框功能不同,但是内容的格式完全相同,这就需要重写自定义度画框的构造方法,根据传入参数的不同显示不同内容和类型的自定义对话框。
手机防盗功能列表界面的实现如图4.8所示:
在这里插入图片描述

图 4.8手机防盗功能列表界面

手机防盗界面设置安全手机号码界面的实现如图4.9所示:
在这里插入图片描述

图 4.9手机防盗绑定安全手机号码界面
4.5 手机杀毒实现
在Android系统中,每一个应用程序都有一个签名信息。通过反编译360手机安全卫士,获取离线病毒数据库,该数据库中存放了世面上已经存在的病毒应用的签名的MD5信息。当用户进入手机杀毒界面时,通过系统API提供的包管理器获取系统中已安装应用的签名MD5信息,并与离线数据库中的信息对比,如果该签名信息在病毒数据库中存在,则弹出对话框提示用户卸载包含病毒信息应用的应用程序。

正在扫描病毒界面的实现如图4.10所示:
在这里插入图片描述

图 4.10正在扫描病毒界面
发现病毒应用提示用户卸载界面的实现如图4.11所示:
在这里插入图片描述

图 4.11发现病毒应用提示用户卸载界面
4.6 系统优化实现
通过系统API提供的包管理器获取每个应用程序所占的存储空间,并通过ListView展示给用户,由于Google工程师为了提升Android系统的安全性,没有Root权限不能删除其他应用的数据信息,本应用的实现方式是当用户点击某个应用条目时,通过显式意图跳转到系统自带应用数据信息清理界面清理缓存数据。
系统优化界面的实现如图4.12所示:
在这里插入图片描述

图 4.12系统优化界面
4.7 通讯卫士实现
通讯卫士界面主要也是便表列表和适配器,在注册监听电话到来和短信到来事件的广播接收者时,需要将其优先级设置到最大值,以确保本应用最先收到这两个广播事件,在第一时间挂断电话以及删除最近一条通话记录和短信记录,避免用户看到脏数据。

黑名单管理界面的实现如图4.13所示:
在这里插入图片描述

图 4.13黑名单管理界面
添加黑名单界面的实现如图4.14所示
在这里插入图片描述

图 4.14添加黑名单界面
4.8 软件管理实现
通过系统API提供的包管理器,获取手机中已安装的应用程序并通过ListView展示给用户,当用户点击某个应用条目后,通过弹出PupupWindow显示功能对话框。当用户点击运行按钮时,通过显式意图运行某个应用程序。当用户点击卸载按钮时,通过隐式意图调用系统软件管理器卸载软件。当用户点击分享按钮时,通过调用系统短信发送器发送要分享的应用的基本信息以及在GooglePlay上的下载地址给好友。
软件管理界面的实现如图4.15所示:
在这里插入图片描述

图 4.15软件管理界面
4.9 高级工具实现
高级工具主要提供手机号码归属地查询和常用号码查询功能。通过反编译QQ通讯录,获取手机号码归属地数据库,将用户输入的手机号码与该数据库中的数据进行匹配获取手机号码归属地并显示给用户。通过互联网获取常用手机号码,并录入到自定义数据库中,用户查看常用号码时将该数据库中的数据显示给用户,当用户点击通用号码条目时,通过隐式意图跳转拨号界面。

号码归属地查询界面的实现如图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开发工作必备的一些技能,例如屏幕适配、兼容多版本系统等,了解了移动应用程序开发的基本流程,同时在林老师的细心指导下完成了我的毕业设计作品《青蛙卫士》。

由于Android是基于Linux系统的,所以我尝试着去学习Linux操作系统,在这半年里我学会了Ubuntu系统中开发人员必备一些技能,例如掌握Ubuntu系统下开发Android应用程序的能力,学会使用Ubuntu系统中的常用办公软件等。在编写青蛙卫士的过程中巩固了Android的基础知识,通过看别人的技术博客掌握了Android中常见动画效果、编写自定义组件、编写自定义组合控件以及加深了对Framework层API的印象,从以前看教学视频学习编程过度到看技术博客学习编程,为以后的职业生涯打下了坚实的基础。

5.2 进一步工作的方向
目前为止,青蛙卫士的功能基本上都实现了,但是在一些功能中仍存在不完善之处,例如手机防盗模块没有实现每次手机重启完毕后调用系统前置摄像头拍照以便手机丢失后获取小偷的长相、没有加入第三方平台用户登录、没有编写后台管理系统上传和恢复用户数据等。作为一个手机安全卫士,功能还需在日后的工作中进一步地考查调研并完善。

参考文献
[1] 彭海文. 移动通信进入后G时代¬—移动互联网之战一触即发[J]. 新潮电子,2008(1):26-28.
[2] 陈昱,江兰帆. 基于Google Android平台的移动开发研究[J]. 福建电脑,2008(11):156-157.
[3] 白文江. 基于Android平台的移动应用开发研究[J]. 太原大学学报,2011(3):117-120.
[4] 刘一静,孙莹,蔺洋.基于手机病毒攻击方式的研究[J] .信息安全与通讯保密,2007(12):57-60.
[5] 王浩. Ubuntu下搭建Android开发环境[EB/OL]. http://www.cnblogs.com/bingoogol/p/ubuntu-environment-android.html,2013-11-16/2014-05-11.
[6] 田森,李大和. 用Android开发手机应用[J]. 程序员,2008(1):56-61.
[7] Wal Frank. Unlocking Android[M]. London:Mann,2009:221-223.
[8] 李惠. 基于Android平台的个人知识管理平台的研究和设计[D]. 浙江:浙江师范大学,2011:21-22.
[9] 李晓. 基于Android平台的手持终端应用开发与设计[D]. 湖北:湖北大学,2010:12-13.
[10] Reto Meier. Professional Android Application Development[M]. Wiley:Macmillan, 2009:317-318.
[11] 姚昱旻,刘卫国. Android的架构与应用开发研究[J]. 计算机系统应用,2008(1):21-22.
[12] 李杨,冯刚等. 基于Android的多媒体应用开发与研究[J]. 计算机与现代化,2011(4):149-152.
[13] 王家林,王家俊,王家虎. Android项目实战—手机安全卫士开发案例解析[M]. 北京:电子工业出版社,2013:40-302.

致 谢
省略


5、资源下载

本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。

序号毕业设计全套资源(点击下载)
本项目源码基于Android+Eclipse的手机安全卫士设计与实现(源码+文档)_Android_手机安全卫士.zip

6、更多android毕业设计项目

精选android毕业设计10套——源码+论文完整资源

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业设计方案专家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值