基于Android的手机安全卫士的开发

基于Android的手机安全卫士的开发

开发环境
处理器:Intel® Core™ i5-5200U CPU 2.20GHz
内存:4GB
硬盘:500GB
操作系统:Windows 7中文版,64位操作系统
开发工具:Eclipse(根据自己的使用工具写)
开发语言:Java

系统主要开发的功能如下:
(一)检查和更新版本
打开手机管家首页,会检查本地版本号与服务器端的版本号是否一致,低于服务器端的版本号提示用户更新版本,如果用户选择立即更新,应用在服务器端下载新版本,自动并安装。
(二)手机防盗
(1)密码加密
想要使用手机防盗模块需设置密码,对密码采用MD5加密算法,加密后的密码存储到配置文件。要进入此模块需要再次输入密码才可进入。
(2)SIM卡的绑定
绑定SIM卡,一旦换卡,会向安全号码发送报警短信,首先获取SIM卡序列号,然后将其写入配置文件。
(3)滑屏功能
手机防盗的几个设置界面之间的切换使用手势滑动,根据触摸位置的很坐标判断滑屏的方向。设置四个小圆点界面,滑屏时对应页面显示是,小圆点的颜色会有所变化,根据具体页面而具体变化。
(4)添加安全号码
安全号码可以手动添加,也可以获取手机联系人列表,在联系人列表中选中已有联系人进行添加,安全号码需要存入配置文件中。
(5)开启防盗功能
使用状态按钮开启防盗功能,并将开启状态存入配置文件,用于回显。
(三)通讯卫士模块
对添加到黑名单中的号码进行电话拦截、短信拦截。添加到黑名单有两种方式,一种是直接输入电话号,另一种是从联系人列表中选择。
(四)软件管家模块
获取当前手机中的所有应用,以及手机剩余内存、SD卡剩余内存,当点击某个应用时,下方会浮出一个操作条,可以管理应用启动、卸载、分享、设置。
(五)手机杀毒模块
手机杀毒模块用于全盘扫描手机程序,检测是否有病毒,如果某个程序含有病毒,应用名称会显示红色,手动卸载程序即可,如果没有病毒,则显示扫描完成。
(六)缓存清理
用于清理所有程序缓存,当扫描完所有程序后出现缓存时,可以点击“一键清理”按钮,系统会进行清理。
(七)进程管理
扫描手机正在运行的进程,并可以进行清理,可以选择清理某个进程,也可以选择清理所有进程。
(八)流量统计模块
本模块用于统计手机当月使用的流量、手机的总流量、本月手机已用的流量以及本日手机已用的流量。
(九)高级工具模块
(1)号码归属地查询
通过数据库查询出手机号码所在的城市以及运营商。
(2)短信备份和还原
将手机中的短信以XML格式保存在本地,可以通过短信还原功能将误删的短信还原到系统短信数据库中。
(3)程序锁
使用此程序给手机自动上锁。
(十)设置中心模块
用于设置黑名单的拦截,以及程序锁是否开启。

手机安全卫士主要分为九个功能模块,其中包含手机防盗、通讯卫士、软件管家、手机杀毒、缓存清理、进程管理、流量统计、高级工具、设置中心九个模块,如图3-3.1所示。
  图3-3.1手机安全卫士功能模块
图3-3.1手机安全卫士功能模块
手机安全卫士分为两个大模块,一个是首先进入的欢迎界面,另一个界面是主界面。欢迎界面会显示系统的版本号,以及功能提示等,然后会进入主界面,主界面显示九个功能模块,每个功能模块还有具体的小功能。

4.设计和实现过程
4.1页面展示及检查和更新版本
4.1.1 欢迎页面
布局文件使用的是RelativeLayout布局,该布局中放置了ProgressBar控件和TextView控件,ProgressBar控件用于显示程序加载的进度条,TextView控件用于显示程序的版本号。
用户点击手机安全卫士此页面时,首先显示的是一个欢迎页面,本页面会展示应用的版本号。如下图4.1.1.1所示。
欢迎页面

图4.1.1.1 欢迎页面展示

4.1.2 检查及更新版本
①本程序使用Tomcat作为服务器,因此事先需要配置好服务器。在Tomcat的webapps/ROOT文件夹下放上updateinfo.html以及手机安全卫视2.0的APK,使用xUtils下载APK,要将工具包导入工程中,用DownLoadUtils.java用于存放下载文件的工具类。
在下载APK之前需要先获取程序的版本号,当检测到本地版本号与服务器版本号不一致时,才会弹出更新提醒的对话框(如下图4.1.2.1所示),进行下载安装,本部分代码功能独立,单独创建一个工具类,将其放在MyUtils中。
提示升级
图4.1.2.1 提示更新对话框

版本更新的整体逻辑代码在VersionUpdateUtils.java中,HttpGet httpGet=new HttpGet(“http://10.0.2.2:8080/updateinfo.html”);通过HttpGet请求updateinfo.hml页面,解析该页面的JSON数据,从而调用方法弹出升级对话框。升级之后页面也会发生相应的变化。

4.1.3 系统主页面
系统主页面中使用的是GridView控件,该控件是一个二维的ViewGroup,有9个页面,从而展示九宫格效果,每个Item的格式都是一样的,都由一张图片和一个标题组成。主页面效果图如图4.1.3所示。
主页面
图4.1.3 系统主页面

4.2手机防盗模块
4.2.1设置及输入密码
设置密码和输入密码大体类似,都是使用回调函数setCallBack传递MyCallBack接口,该接口中有两个方法分别用于处理确定与取消选项, public void setCallBack(MyCallBack myCallBack)
{this.myCallBack = myCallBack;}
密码使用MD5加密,因此需要将其抽取作为工具类单独存放。设置密码页面如图4.2.1.1所示。
设置密码界面
图4.2.1.1 设置密码页面
4.2.2 手势滑动
手势滑动是在设置向导中比较核心的内容,每一个Activity都要有手势识别器,也要设置小圆点界面,当滑动到当前界面是,当前界面的小圆点会显示不同的颜色,在每个页面下方都引入此部分的代码。
界面平移效果的动画有四个,需要分别定义四个动画效果。android:duration=“1000”,表示切换动画执行时长为1000毫秒,即为1秒。用showNext()方法和showPre()方法,分别用于展示下一个和上一个页面。再用手势识别器去分析识别手势事件,开启新的activity并且关闭自己。
4.2.3 SIM卡绑定
设置向导第一个页面是单纯的展示功能,逻辑代码都比较简单,SIM卡绑定在的第二个页面, 因此进入第二个页面时,需要设置第二个小圆点的颜色与其他的不一样。使用bindSIM()方法(如图4.2.3.1所示)来绑定sim卡,if语句判断SIM是否绑定,没有绑定则获取手机的SIM卡串号,并且再存入SharedPreferences对象中。
绑定sim卡部分代码
图4.2.3.1 绑定sim卡

接下来需要创建一个Application子类App,Application用于检测SIM卡是否发生变化,当Android程序启动时,系统会创建Application对象,单例模式的一个类,需要再application标签增加name属性,并添加Application名字即可。可以将检测SIM卡是否变更的方法放在Application的onCreat()方法中。App.java中部分代码用于判断手机SIM卡是否更换,当防盗保护开启时,获取绑定的SIM卡串号,然后获取当前手机的SIM卡串号进行对比,如果一致则代表SIM卡未发生变化,如果不一致则代表SIM卡发生变化,此时需要向安全号码发送短信,提示手机SIM卡已更换。
SIM卡绑定界面如图4.2.3.2所示。
绑定sim卡界面
图4.2.3.2 SIM卡绑定

4.2.4 添加安全号码
设置向导的第三个页面用于选择或输入安全联系人,当手机SIM卡变更后会向安全号码发送短信通知,用showNext()方法(如图4.2.4.1所示)

  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值