收藏 分享(赏)

基于android的手机卫士——毕业论文.doc

上传人:wo7103235 文档编号:6145716 上传时间:2019-03-30 格式:DOC 页数:36 大小:1.32MB
下载 相关 举报
基于android的手机卫士——毕业论文.doc_第1页
第1页 / 共36页
基于android的手机卫士——毕业论文.doc_第2页
第2页 / 共36页
基于android的手机卫士——毕业论文.doc_第3页
第3页 / 共36页
基于android的手机卫士——毕业论文.doc_第4页
第4页 / 共36页
基于android的手机卫士——毕业论文.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

1、聊城大学本科毕业设计1本科毕业论文(设计)本科毕业论文(设计)题 目 基于 android 的手机卫士 专 业 软件工程 作者姓名 学 号 单 位 聊城大学 指导教师 年 月教 务 处 编聊城大学本科毕业设计2目 录目 录 .1摘 要 .2Abstract.3前 言 .41. 绪论 51.1 研究现状 .51.2 手机卫士开发的意义 52. 系统的概要设计 62.1 android 简介 .62.1.1 android 历史 72.1.2 Android 的特点 .82.2 Android 四大组件 82.1.1SQLite 数据库 .92.1.2 ListView 展示列表 92.1.3 S

2、haredPreferences 存储数据 102.1.4Handler + Message 传递消息 .103. 可行性分析 .113.1 系统功能性需求分析 113.2 系统非功能性需求分析 123.3 系统开发可行性分析 .124. 系统详细设计 .134.1 手机防盗实现 134.2 进程管理模块实现 244.3 缓存模块实现 27结束语 30聊城大学本科毕业设计3参考文献 31致 谢 33摘 要Android系统得益于其自身的大自由度和可移植性强等特点在如今几乎全民使用智能手机的时代网罗了大批用户,迄今为止仍是智能手机市场份额占有率最大的手机系统,而且其用户也在不断增加。其次,Goo

3、gle 的开源政策使得大批移动设备制造商纷纷跟进,他们在大量推出自己制造的高配置低价位 Android手机的同时也在不断的根据用户使用习惯对原有的 Android系统进行深度定制以此提高用户的使用体验达到在激烈的市场竞争中抢占份额的目的。但也正是由于这两个主要原因,造成了现在的 Android系统生态圈十分臃肿并且碎片化严重。再者就是因为各大 Android应用市场的门槛高低不同,让一些不法分子钻了空子导致大量垃圾 app和流氓 app滋生给用户造成很大困扰,更严重的会造成用户的经济损失。因此开发一款基于 Android平台的手机安全卫士 app就十分必要。本文主要研究基于 Android平台

4、的手机安全卫士,方便用户对自己手机中文件进行管理和对自己私人设备信息实施保护从而防止不法分子利用系统漏洞窃取个人信息,实施网络诈骗等有损用户利益行为。用户在使用中可根据自身情况使用该 APP管理已安装的手机软件随意卸载不经常使用或被恶意安装到手机的程序;设置对骚扰电话和短信的拦截阻止其弹出推送;针对系统使用时间较长后产生大量缓存的情况可根据提示清理缓存;在手机丢失或失窃、SIM 卡变更时,能够实现远程定位、报警、锁屏、销毁数据等操作,这些功能在具有很强的实用性的同时人机交互也很友好。关键字: 手机安全卫士; Android 平台; 手机防盗; 缓存清理; 进程管理。 聊城大学本科毕业设计4Ab

5、stractAndroid system due to its great freedom and portability features in todays almost universal use of the Smartphones era to collect a large number of users, so far it is still the smart phone market share of the largest mobile phone system, and the user is also increasing. Secondly, Googles open

6、 source policy makes the large number of mobile equipment manufacturers have to follow up, But it is precisely because of these two main reasons, resulting in the current Android system ecosystem is very bloated and fragmented serious. Moreover is because of differences in the threshold level of the

7、 Android Market, let some lawless elements loopholes to cause a lot of garbage app and rogue app breed to the user caused great distress, more serious will cause economic loss of users. So it is necessary to develop a mobile security guard app based on Android platform.In this paper, the main resear

8、ch based on the Android platform of mobile security guards and over their personal information protection to prevent criminals use loopholes in the system to steal personal information, the implementation of online fraud, damage the interests of users behavior. Mobile phone software users in use can

9、 be according to their own situation to use this app installed on casual unloading infrequently used or malicious install to your phone program; setting of harassing phone calls and text messages blocked pop-up push; according to the system used for a long time after large cache can according to the

10、 prompt to clear the cache; the phone is lost, SIM card change to achieve remote location, alarm, lock screen, the destruction of the operating data, the function has very strong practicability and man-machine interaction is also very friendly.Key words: Alarm clocks; Memorandum; Address book; VB聊城大

11、学本科毕业设计5基于android的手机卫士的设计与实现前 言Android系统是基于 Linux内核的操作系统,主要应用于移动设备终端。在Android设备愈加普及的今天常会有用户隐私数据遭到泄露或用户账号被盗用的事件发生。而且无论是 Google官方推出的最新 Android系统、还是诸如 MIUI等第三方定制系统发现的漏洞均层出不穷,这对系统本身的安全性产生了极大的威胁 4。在国家推动互联网+的大背景下移动支付也从概念性的名词逐渐走入了大家的日常生活当中,而且应用也日益普遍,身上只带一部手机出门的情景正真真切切的发生在我们身边。移动设备同样在在用户的日常工作中扮演着越来越重要的角色,无纸

12、化办公的实现离不开信息技术的支持。但在互联网技术发展欣欣向荣的背后隐藏着大量对系统、对算法和对协议的攻击,这使得移动平台的安全形势非常严峻,并且逐利而动的不法分子越来越多,他们的存在让我们的移动设备时刻面临极大的安全挑战。另一方面,Android 是开源系统其一个重要的特点就是开放性很强。这主要是因为系统是基于协议开发的,这个协议允许开发者公开自己开发的系统的源代码。由于 Android系统的开放性,吸引了众多的手机厂商的产品搭载 Android平台,这就使得同一系统软件往往是在配合不同厂商的各式硬件的环境下运行,因此 Android系统是跨平台的。但是开放性又带来了大量安全风险。不同于苹果的

13、 IOS和微软的 Windows系统,Android 系统没有自己封闭的生态圈 5。不同的手机厂商和一些互联网公司均可以开设自己的应用商店。由于审查门槛高低不同,市场中的应用很多都有安全隐患,但却会在用户下载使用后才会暴露出问题。用户在使用软件时时常会遭遇到恶意扣费、后台偷发短信或软件后台消耗流量等问题,这都对用户的财产造成了直接的损失,更严重的是现在手机中往往存储着许多用户的账户密码等隐私数据,用户在遇到手机失窃或丢失后隐私数据会随之泄露,这会使得用户对手机的安全性产生深度怀疑。所以手机平台上的安全应用软件就显得越来越重要。聊城大学本科毕业设计61. 绪论1.1 研究现状正是由于智能手机的用

14、户越来越多,大家对于自己手机的了解程度和对个人信息安全的关注度也在不断提高。根据 360安全卫士发布的2016 年第一季度中国手机安全状况报告显示 2016年第一季度,猎网平台共收到用户提交的手机端诈骗案例 2852件,涉案金额达到了 2213万元,人均损失高达 7662元,较2015年人均损失 5577元有明显的上升。举报数量方面,移动端的举报数量首次超过 PC端,数量达到 PC端的 2倍多。通过虚假消息发布钓鱼网站或木马软件盗取用户财产,是手机端网络诈骗的主要手段。一个精心设置的钓鱼链接,用户很难分辨真伪,点击进入后,填写相关个人隐私信息以及验证码等,很容易造成网银财产尽失;手机木马潜伏在

15、用户手机中则会产生恶意扣费、偷耗流量、消耗资费、推送广告、窃取隐私等恶意行为,让用户在不知不觉间财产损失。针对这种现状国内的一些大型互联网公司均推出了自己的手机卫士产品,例如奇虎公司的 360杀毒,腾讯公司的手机管家,金山公司的手机卫士等。这些软件在提供了隐私保护及手机防盗功能的同时还有病毒查杀缓存清理等功能,目前这三家公司的产品已占据了各大应用市场手机安全类软件的前三名,拥有基数庞大的用户群体,它们在收获用户好评的同时也给公司带来了巨大的附加效益 3。在对三家手机安全产品的试用过程中发现三款产品无一例外具有高效的人机交互界面,即使是初次使用也能很快掌握使用方法,用户体验良好。这也是本次课题研

16、究力求达到的目标。1.2手机卫士开发的意义Android系统是基于 Linux内核的操作系统,主要应用于移动设备终端。在Android设备愈加普及的今天常会有用户隐私数据遭到泄露或用户账号被盗用的事件发生。而且无论是 Google官方推出的最新 Android系统、还是诸如 MIUI等第三方定制系统发现的漏洞均层出不穷,这对系统本身的安全性产生了极大的威胁 4。在国家推动互联网+的大背景下移动支付也从概念性的名词逐渐走入了大家的日常生活当中,而且应用也日益普遍,身上只带一部手机出门的情景正真真切切的发生在我们身边。移动设备同样在在用户的日常工作中扮演着越来越重要聊城大学本科毕业设计7的角色,无

17、纸化办公的实现离不开信息技术的支持。但在互联网技术发展欣欣向荣的背后隐藏着大量对系统、对算法和对协议的攻击,这使得移动平台的安全形势非常严峻,并且逐利而动的不法分子越来越多,他们的存在让我们的移动设备时刻面临极大的安全挑战。另一方面,Android 是开源系统其一个重要的特点就是开放性很强。这主要是因为系统是基于协议开发的,这个协议允许开发者公开自己开发的系统的源代码。由于 Android系统的开放性,吸引了众多的手机厂商的产品搭载 Android平台,这就使得同一系统软件往往是在配合不同厂商的各式硬件的环境下运行,因此 Android系统是跨平台的。但是开放性又带来了大量安全风险。不同于苹果

18、的 IOS和微软的 Windows系统,Android 系统没有自己封闭的生态圈 5。不同的手机厂商和一些互联网公司均可以开设自己的应用商店。由于审查门槛高低不同,市场中的应用很多都有安全隐患,但却会在用户下载使用后才会暴露出问题。用户在使用软件时时常会遭遇到恶意扣费、后台偷发短信或软件后台消耗流量等问题,这都对用户的财产造成了直接的损失,更严重的是现在手机中往往存储着许多用户的账户密码等隐私数据,用户在遇到手机失窃或丢失后隐私数据会随之泄露,这会使得用户对手机的安全性产生深度怀疑。所以手机平台上的安全应用软件就显得越来越重要。2. 系统的概要设计2.1 android简介Android是 G

19、oogle公司基于 Linux平台开放源代码的崭新手机操作系统,同时 Google公司在推出 Android系统后,紧接着砸下数千万美元举办了 Android应用程序开发者大赛,使得 Android迅速吸引大量程序员竞相学习。目前使用 Android系统的手机数量已经超越了 Iphone系统,成为全球使用量最大的手机系统。随着 Android手机的快速普及,对于 Android应用的需求势必会越来越大,其拥有的市场商机也将日益庞大。Android的原意为“机器人” ,Google 将 Android的标志设为绿色机器人,不但表达字面意思,且表示 Android系统是符合环保概念,是一个轻薄短小

20、,功能强大的移动系统,号称是第一个真正为手机打造的开放且完整的系统。聊城大学本科毕业设计8对硬件制造商来说,Android 是开放的平台,只要厂商有足够能力,可以在Android系统中任意加入自己开发的特殊功能,这样就不受限于操作系统同时Android是免费的平台,如果制造商采用 Android系统,就不必每次出售一台手机,就要交一份版权费给系统商,可以大幅度的节省成本,也不必担心系统商调高手机系统使用费用。对于应用程序开发者来说,Android 提供完善的开发环境,支持各种先进的绘图,网络,相机等处理能力,方便开发者编写应用程序。市面上手机型号及规格繁多,Android 开发的程序课兼容不同

21、规格的移动设备,不需要开发者费心,最有利的是 Google建立了 Android市场,让开发者可以自己发布自己的应用,同时也是一个很好的获利渠道。对于移动用户设备用户来说,Android 是一个功能强大的操作系统。用户申请一个 Google账号之后,当用户更换手机时,即使是不同厂商的手机,只要它是使用的 Android系统,既可以将原手机的各种信息如联系人,电子邮件等无缝转移到新手机中。2.1.1 android历史 Android milestone builds (with Astro Boy and Bender floating around in here somewhere) An

22、droid 1.0(没有开发代号) Android 1.1 - Petit Four Android 1.5 - Cupcake Android 1.6 - Donut Android 2.0/2.1 - clair Android 2.2 - Froyo Android 2.3 - Gingerbread Android 3.0/3.1/3.2 - Honeycomb Android 4.0 - Ice Cream Sandwich Android 4.1/4.2/4.3 - Jelly Bean Android 4.4 - KitKat Android 5.0/5.1 - Lollipop

23、(Android L) Android 6.0 - Marshmallow(Android M) Android 7.0 -Nougat(Android N)聊城大学本科毕业设计92.1.2 Android的特点1.开放性源码:Google 公司公布 Android系统的核心源代码,并且提供SDK让程序设计者可以通过标准 API存取核心代功能,编写各种应用软件,再使用 Android市场机制快速将软件传播到全世界。2.多任务系统:Android 系统可以同时执行多个应用程序,是完整的多任务环境。Android 同时具备独特的”通知”机制,应用程序在后台执行,必要时候可以产生通知引起用户的注意。

24、3.虚拟键盘:Android 从 1.5版本开始同时支持实体键盘及虚拟键盘,可以同时满足不同用户在不同场合的要求。4.超强的网络功能:Android 使用以 Webkit为核心的 WebView组件,应用程序想要内嵌 HTML,JavaScript 等高级网页功能,都可以轻易达成。Android内建的浏览器也是以 Webkit为核心,能加快显示速度,尤其在包含大量 Script指令及复杂的网页应用时,更可以体验其绝佳性能。5.集成开发环境:目前最常使用的是 eclipse、ADT 加上 Android SDK,不但具备舒适的程序编写环境,而且有相当强大的调试功能,大幅提高编写应用程序的效率,可

25、以节省大量程序修改测试的时间。Visual Basic是在原有 BASIC语言的基础上的进一步发展,结合了 BASIC语言和 Windows的优点,把他们融合在一起,为初学者在 Windows环境下编写应用程序提供了良好的开发环境。1998 年 Microsoft公司推出了 Visual Basic6.0。其功能和性能较以前版本都有了很大的增强,它还提供了新的灵巧的数据库和Web开发工具,如增加了新改进的 SQL Server交互方法,包括数据库的访问,使用数据库的新工具和控件等。2.2 Android四大组件Activity: Activity从字面翻译是活动的意思。一个 Activity通

26、常是为了展现一个可视化的图形界面,是 Android应用程序与用户交互的窗口,Activity是 Android四大组件中最复杂也是最基本的一个组件。从视觉效果来看,每个 Activity占据一个当前的窗口,并响应所有窗口事件,具备控件、菜单等界面基本元素。从内部逻辑分析,Activity 为了保持各个界面状态,需要做很多持久化的操作,还需要妥善管理生命周期,和一些转跳逻辑。在项目开发聊城大学本科毕业设计10中,一般需要创建一个 Activity的子类,在子类中实现各种功能方法。Service:Service 翻译过来就是服务,它是运行在系统后台的一个组件,可以把服务比作一个没有界面的 Act

27、ivity。两者在很多方面比较接近,比如都封装有一套完整的功能逻辑的类库和方法,都接受上层指令,而且事先定义好了需要接受的同步或异步的接口。Android 中的服务执行长时间运行的操作,或运程进程执行工作。Service 不提供用户界面,在服务运行的同时还可以干其他事情,而不会阻塞用于与其他活动的交互。例如在后台播放音乐、下载文件,实时定位等。Broadcast Receiver:直译就是广播接收者,不执行任何任务,广播作为一种传输信息的机制广泛运用在不同的应用程序之间。Broadcast Receiver 不包含任何用户界面。但它可以启动一个 Activity以响应接受到的信息,可以通过多种

28、方式使用户知道有新的通知产生:闪动呼吸灯、震动手机、发出声音等等。Content Provider:内容提供者,它是应用程序之间进行共享数据的唯一途径,其主要的功能就是存储并检索数据以及向其他应用程序提供访问数据的接口。Android系统中每个运行的进程都拥有独立的进程地址空间和虚拟空间。其中的数据文件(包括 files, database等)属于应用程序自身,其他的应用无法访问到。所以如果想实现不同应用之间的数据共享,就需要用到内容提供者。2.1.1SQLite数据库SQLite是 Android自带的一个标准的数据库,SQLite 数据库特点是更加适用于嵌入式系统,嵌入使用它的应用程序中;

29、占用内存少,运行高效可靠,可移植性好;提供了零配置运行模式。SQLite 数据库不仅提高了运行效率,而且屏蔽了数据库使用和管理的复杂性,程序仅需要进行最基本的数据操作,其他操作可以交给程序内部的数据库引擎完成。SQLite数据库由 8个独立的模块构成,这些独立模块又构成了三个主要的子系统:编译器、核心模块及后端,模块将复杂的查询过程分解为细小的工作处理。应用程序最终都是通过接口与 SQLite进行交互。2.1.2 ListView展示列表ListView可以说是 Android开发中最常用到的控件,只要是需要联网展示的列表视图几乎都离不开 ListView,最常见的就是 QQ和微信的联系人列表

30、。它通俗来讲就是一个视图集合,需要用一个适配器来读从定义的数组中读取数据,之聊城大学本科毕业设计11后把读取到的数据展示在视图上。在我们的项目开发中需要用到它的地方有很多,比如软件管理,进程清理,缓存清理和流量统计模块中的展示条目全都是ListView。因此,掌握好它的使用在实际开发中就显得至关重要。2.1.3 SharedPreferences存储数据SharedPreferences是 Android平台中的一个轻量级的存储类,它以一种“小,快,灵”的方式来保存一些用户设置的用户名、密码、位置等一些个人信息。它也用于系统配置信息的保存,如在课题项目中的手机防盗模块用户初次登录时会提示要求输

31、入用户名、密码,下次登录时会保留这一次的输入信息,免去再次输入的麻烦。这些设置大多是通过它来完成保存功能,SharedPreferences 主要以键值对来存储应用程序的配置信息,但它只能存储基本的数据类型。在 Android系统中,这些保存的信息以 xml文件的形式保存在/data/data/package_name/shared_prefs目录下。如果要读取配置文件信息只需直接使用对象的方法即可,若要写入配置信息,则必须先调用对象的方法edit()方法,使其处于可编辑状态,然后再调用方法写入配置信息,最后调用commit()方法提交更改后的文件配置信息。2.1.4Handler + Mes

32、sage传递消息Handler+Message的消息传递机制主要是为了解决应用的线程之间的通信问题,Android 系统中的子线程是无法动态的改变界面组件的属性值的。在实际的开发中,当涉及到有关动画展示的情况时,若要让新启动的子线程规律性的改变界面组件的属性值,就需要借助 Handler消息传递机制。Handler 的主要作用有两个:一是在新启动的子线程中发送消息到主线程使之进行例如更新 UI的操作。二是把从其他线程发送过来的消息接收后存入消息队列,从而避免线程冲突,损耗内存。上面的过程需要分成两步:在新启动的子线程中发送消息;在主线程中接收、处理消息。需要注意的是要把握好新启动的子线程发送消

33、息的时机和主线程获取并处理消息的时机 10。解决的办法是通过回调的方式重写类中处理消息的方法,当子线程发送消息时,类中自动回调处理消息的方法。聊城大学本科毕业设计123. 可行性分析3.1系统功能性需求分析本 Android应用直接面向终端用户,也属于数据处理系统的一类,因此它的开发需要具有简洁、高效、交互性强的特点。在这样的要求下为开发出来满足用户需要且人机交互友好的应用程序,经过课题小组讨论最终确定了手机安全卫士的九大功能模块:手机防盗、通讯卫士、软件管理、进程管理、流量统计、手机杀毒、缓存清理、高级工具和设置中心。启动软件后首先展示闪屏页面进行 logo展示,进入主页面后检查更新,校验程

34、序合法性(例如判断是否有网络) 。界面采用九宫格布局模式,33 的方式展示功能列表。手机防盗模块:初次使用该功能要输入密码,再次确认密码后进入引导页,在设置向导页完成 SIM卡绑定,设置完安全号码并激活设备管理器后当手机丢失时用安全号码发送指定代码便可实现对丢失手机的是 GPS追踪、远程销毁数据、远程锁屏和播放报警铃声。通讯卫士模块:通讯卫士功能下主要进行黑白名单的管理,例如对未知电话拉黑名单或者添加到短信黑名单,用户可自定义对未知号码的拦截是电话还是短信拦截。软件管理模块:以下拉列表方式显示手机中已安装的各个应用程序,区分出哪些是用户软件哪些是系统软件,并获取到软件所占内存大小。点击后弹出卸

35、载(卸载系统自带应用需要 root权限)和运行功能。 进程管理模块:动态显示当前正在进行的各项服务和应用进程,当用户觉得开启的应用太多影响到手机运行速度时,可以杀死选中的任一进程或者全选结束除本系统进程外的所有进程。流量统计模块:列表显示所安装的各应用联网运行后的流量使用情况,方便用户了解分配各应用的上网时间。手机杀毒模块:依次扫描手机中安装的所有应用程序,获取到他们的特征码,聊城大学本科毕业设计13然后和安全卫士自身存储的病毒数据库中特征码进行比对,从而筛查出流氓软件和病毒软件。缓存清理模块:其下分为应用清理和 SD卡清理两项,应用清理显示出各个应用程序的当前产生缓存得数据大小,用户可单个清

36、理或一键清理所有。SD 卡清理可读取到手机中的各种文件和文件夹,清理项由用户自主选择。高级工具模块:高级工具下提供手机号码归属地查询、生活常用号码查询功能。设置中心模块:包括程序自动更新的开关和自身应用的卸载功能。3.2系统非功能性需求分析产品的非功能性需求是软件开发中最容易被轻视甚至被忽视的一个重要方面。实际上,软件产品非功能性定义不仅会决定产品的质量优劣,还会在很大程度上反过来影响产品的功能需求定位。如果事先未进行非功能性需求的设计,结果往往是导致产品淹没功能性需求给用户带来的价值。所谓非功能性需求,是指软件产品为满足用户业务需求而必须具有且除功能需求以外的特性。下面对其中的某些指标加以说

37、明。人机交互。应用软件需要展示给用户一个人机交互友好的用户界面,整体风格要求简单明了。系统功能模块划分条理清晰,通俗易懂,系统布局简洁,没有有复杂的布局嵌套,多个界面的风格高度统一。系统应响应快速流畅,对数据库的访问操作尽可能的不那么频繁。从而给用户一个较好的使用体验。3.3 系统开发可行性分析本次课题研究依赖 Android系统的开发技术,主要以 Java为主的开发语言进行开发,使用的开发工具是 Eclipse。以上系统、语言和开发工具都是已高度成熟化市场化的技术和平台。因此,Android 手机安全卫士软件在技术方面是完全可行的。尤其是当 Android系统已经成为全球普遍的的手机操作系统

38、时,它的功能完备,操作系统内核强大,系统本身又提供了与底层硬件之间的各种接口、内存管理和进程控制机制。外界同样提供了大量的开源库,例如 sqlite数据库和媒体播放器。而且本地应用程序和第三方应用程序使用相同的 API编写,不存在兼容性问题。聊城大学本科毕业设计14Android开发者如果想在 Google play应用市场发布应用的话只需要支付 25美元便可成为注册一个永久账号,相比于 iOS开发者需要在苹果应用商店交年费的政策无疑要省很多钱。商业软件开发所涉及费用主要有给开发人员支付的费用,软硬件使用费等。从长远来看,市场级应用发布后所获得的收益将远大于系统开发所需的费用,所以本次手机卫士

39、课题项目的开发在经济可行性方面是完全可行的。而且该软件作为一款手机软件,较之电脑软件能够更加方便得随时随地使用,受地理和时间条件的约束很小,因此市场需求空间大,适合发布推广。本课题研究完全在国家法律法规约束范围之内进行,亦不涉及侵权、抄袭等违法行为,故法律方面可行。4. 系统详细设计4.1手机防盗实现用户第一次使用该软件的手机防盗功能时会弹出要求设置密码的 dialog 对话框,在首次输入的密码和确认的密码完全一致后会程序就会把用户输入的密码进行后台的 MD5 加密,之后进入到防盗设置向导页面。当用户两次输入的密码不一致时在点击确定按钮会提示用户“密码不一致,请重新输入” ;用户在不输入密码点

40、击确定时提示用户“密码不能为空” 。聊城大学本科毕业设计15聊城大学本科毕业设计16实现这些功能首先要在主页的 activity 的 onCreate 方法中的使用 switch 语句来判断用户点击的是哪一个功能模块,如果点击的是手机防盗模块就弹出 dialog对话框。这里设置的密码会储存在 SharedPreferences 中,密码存储之前用项目工具类中创建的 MD5 加密工具类对其进行加密。使用 equals 判断两次输入的密码是否一致,使用系统自带的 TextUtils 工具类来判断密码输入框是否为空。用户在设置完密码再次进入手机防盗功能时就会直接弹出输入密码的窗口,不会再要求对密码进

41、行再次输入来对比。设置完密码再次进入手机防盗页。聊城大学本科毕业设计17第二次弹出的 dialog 对话框功能和输入内容的校验方法与设置密码的对话框使用的技术完全一致。在用户正确输入密码点击确定按钮后就会进入到手机防盗功能设置引导页,这一页面是对防盗功能的介绍没有需要用户进行设置的选项。在功能设置引导页里可以点击上一步、下一步来左右跳转也可以手动滑动屏幕来跳转 activity 页面。手机防盗引导分四步来设置,当用户点击页面上的下一步按钮或者向左滑动屏幕时会跳转到下一个绑定手机 SIM 卡的设置页面。聊城大学本科毕业设计18在该页面做的校验是判断用户是否绑定 SIM 卡,若在没有绑定 SIM

42、卡的情况下点击下一步或向左滑动则不能跳转到下一个设置页面且系统弹出提示“请先绑定 SIM 卡” 。用户点击绑定后 SIM 卡的绑定状态也会相应发生改变方便通知用户当前的状态。此时点击下一步就会跳转到设置安全号码的页面。绑定 SIM 卡的后台操作放在广播里进行,在监听开机启动事件时当用户已经开启防盗功能就做 SIM 卡是否与绑定的校验。这一步需要添加 READ_PHONE_STATE 和RECEIVE_BOOT_COMPLETED 权限。聊城大学本科毕业设计19图 4.7 设置安全号码设置安全号码页如图 4.7所示,用户既可以手动输入安全号码也可以点击选择联系人按钮从手机存储的联系人中选择。设置

43、安全号码后还要激活设备管理器以获取到最高用户权限用于远程锁屏和清除数据功能的实现。否则当不进行以上操作而点击下一步时系统会提示安全号码不能为空和要求用户激活设备管理器。选择联系人需要拥有读取手机联系人的权限,在清单文件中需添加READ_CONTACTS权限。此处需要注意的是在激活设备管理器后程序会不能被普通卸载,卸载时需要取消激活设备管理器,为防止影响用户体验,在设置模块里我们添加了对本应用的卸载功能。聊城大学本科毕业设计20聊城大学本科毕业设计21设置完成页面默认已开启防盗功能,如图所示,用户也可以自行决定是否关闭。点击设置完成按钮会跳转到手机防盗的首页。在防盗首页里用户设置的安全号码和防盗

44、功能的开启状态会动态显示出来。如果用户想变更安全号码只需要点击重新设置按钮便可重复之前的流程。此页面的指令介绍中就是在手机丢失后安全号码发送的短信指令,比如发送 GPS追踪指令丢失手机就会获取到自己的 GPS位置并把位置信息以短信的形式发送给安全号码。同样,丢失手机接收到播放报警铃声和远程锁屏等指令后会自己进行响铃和锁屏操作。聊城大学本科毕业设计22由于手机防盗要实现一些远程短信指令操作,所以在项目开发中要添加多个系统权限,比如接收短信的权限。需要重点说明的是在远程定位功能的实现中用到的是 service 后台服务,实际开发中遇到的难题是如何让定位的服务能够常驻内存,目前这一功能实现的还不完美

45、。初步解决办法是在服务的注册文件里把它的优先级提升到最高,其次是给服务设置一个开机监听的广播,让它能够开机启动。具体代码实现:public void onItemClick(AdapterView parent, View view,int position, long id) switch (position) case 0:showPasswordDialog();break;(2)在showPasswordDialog方法中先利用TextUtils判断是否设置过码,如果设置过则弹出不带密码确认的输入框,如果没设置过就弹出带密码确认的设置密码输入框:protected void showP

46、asswordDialog() String savedPassword=mPref.getString(“password“, null);if(!TextUtils.isEmpty(savedPassword)showPasswordInputDialog();elseshowPasswordSetDialog();(3)创建弹窗的代码如下:AlertDialog.Builder builder=new AlertDialog.Builder(this);聊城大学本科毕业设计23final AlertDialog dialog=builder.create();View view=View

47、.inflate(this,R.layout.dialog_set_password, null);dialog.setView(view);(4)对输入数据的校验和检查操作放在“确定”和“取消”按钮的点击监听事件中处理,校验功能大体逻辑如下:String password=etPassword.getText().toString();String passwordConfirm=etPasswordConfirm.getText().toString();if(!TextUtils.isEmpty(password)mPref.edit().putString(“password“,MD5

48、Utils.EncodedKeySpec(password).commit();dialog.dismiss();startActivity(new Intent (HomeActivity.this,ShouJiFangDaoActivity.class);elseToast.makeText(HomeActivity.this,“密码不一致,重新输入“,Toast.LENGTH_SHORT).show();elseToast.makeText(HomeActivity.this,“密码不能为空“, Toast.LENGTH_SHORT).show();(5)进行MD5加密的方法如下:pub

49、lic static String EncodedKeySpec(String password)try MessageDigest instance = MessageDigest.getInstance(“MD5“);byte digest = instance.digest(password.getBytes(); StringBuffer 聊城大学本科毕业设计24sbBuffer=new StringBuffer();for(byte b : digest)int i=b String hexString=Integer.toHexString(i); if(hexString.length() killLists = new ArrayList();for (ProcessInfo ProcessInfo : userTaskInfos) if (ProcessInfo.isChecked() killLists.add(ProcessInfo);totalCount+;killMem += Proces

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报