基于Android系统的手机防盗论文17688.doc

上传人:仙人指路1688 文档编号:2394067 上传时间:2023-02-17 格式:DOC 页数:103 大小:4.35MB
返回 下载 相关 举报
基于Android系统的手机防盗论文17688.doc_第1页
第1页 / 共103页
基于Android系统的手机防盗论文17688.doc_第2页
第2页 / 共103页
基于Android系统的手机防盗论文17688.doc_第3页
第3页 / 共103页
基于Android系统的手机防盗论文17688.doc_第4页
第4页 / 共103页
基于Android系统的手机防盗论文17688.doc_第5页
第5页 / 共103页
点击查看更多>>
资源描述

《基于Android系统的手机防盗论文17688.doc》由会员分享,可在线阅读,更多相关《基于Android系统的手机防盗论文17688.doc(103页珍藏版)》请在三一办公上搜索。

1、摘要近年来,智能手机的功能日趋强大,移动终端应用程序层出不穷。由于现在人们的工作繁忙,手机的丢失似乎也成为常有的事。与之带来最让人烦心的是私人数据的丢失及带来的不安全隐患。基于以上原因,本文设计了一款手机防盗追踪软件。本软件利用 Android系统的广播机制,当手机用户开启防盗追踪功能后,本程序将后台监听手机开机启动、信号状态、短信收发以及位置的改变,通过监听手机用户 SIM 卡的 IMSI码的改变来判断手机安全状态,监听并截获安全短信内容,实现非法用户的手机号码向合法用户预先设置的安全号码发送特殊信息的功能,告知用户当前手机状态和位置信息,并可通过安全短信控制被盗手机锁屏、销毁隐私数据、发报

2、警音等功能。最后将设计完成的软件进行测试,其所有功能都完美实现,真正起到了手机防盗追踪的作用。关键词:Android系统 手机防盗 广播机制 监听器ABSTRACTIn recent years, the intelligent mobile phone function is powerful, the mobile terminal application emerge in an endless stream. Because now peoples busy work, the lost mobile phone also seems to be a common thing. And

3、 bring the most disturbing is a private data loss and insecurity hidden trouble. Based on the above reasons, this paper introduces the design of a mobile phone anti-theft tracking software. This software uses Android system broadcast mechanism, when the mobile phone users to open anti-theft tracking

4、 function, the program will monitor the background mobile phone boot, signal condition, send and receive text messages and a change of location, through the monitoring mobile phone user SIM card IMSI code changes to determine mobile phone safety state, monitor and intercepts a secure message content

5、, realize the illegal user the mobile phone number to the legitimate user preset safety numbers to send special message to inform the user of mobile phone function, current status and location information, and through SMS security control of stolen mobile phone lock screen, the destruction of privac

6、y data, send alarm sound and other functions. Finally completed the design of the software testing, all of its functions are perfect, played a real mobile phone anti-theft tracking function.Keywords: Android system DroidRing Broadcasting mechanism Listener目录1绪论11.1应用开发研究背景与意义11.2国内外研究现状21.2.1国内研究状况2

7、1.2.2国外研究状况21.3开发研究内容32手机防盗应用开发的基础42.1Java基础42.2Android基础43手机防盗应用方案的设计53.1UI设计53.1.1UI窗口层63.1.2UI主层83.1.3UI功能体验层83.1.4UI指令查看层93.1.5UI信息设置层103.2Function设计113.2.1应用初始化113.2.2功能选择113.2.3功能体验123.2.4功能查看123.2.5功能设置123.3Service设计123.3.1数据库存储服务123.3.2监听按钮事件服务133.3.3开机启动和短信广播服务133.3.4GPS服务143.3.5私人数据的管理144手

8、机防盗应用方案的实施154.1UI的实现154.1.1Activity154.1.2ListActivity204.1.3PreferenceActivity244.1.4Dialog264.2由Sever支持的Function实现274.2.1广播机制服务274.2.2换卡短信通知304.2.3定位手机314.2.4数据销毁324.2.5锁定手机344.2.6发报警音354.2.7数据库存储应用365手机防盗应用测试375.1防盗应用初始化375.2手机定位功能测试375.3换卡短信通知功能测试385.4锁屏功能测试395.5销毁数据405.6发报警音406手机防盗应用说明41结论42致谢4

9、3参考文献44附录一45附录二46附录三531 绪论1.1 应用开发研究背景与意义随着 3G 技术的不断发展,手机移动应用开发成为目前热门的技术之一。种类繁多的手机应用以及先进的硬件,使得手机已经不完全是用来通话的工具了,它巧妙的融合了PDA(Personal Digital Assistant,掌上电脑)、数码相机以及MP3等诸多功能,一机多能且不断向专业化迈进是现在手机的发展方向1。手机功能的增多以及不断完善,自然价格也高低不一,好的手机可以卖到笔记本的价格。关于手机我们能想到很多人们担心的话题。而最为愁人的就是现在的手机大都兼容各种电话卡,一旦丢失,就会机卡两空。在我们忙碌的工作生活中,

10、似乎手机丢失已经成为了一种自然的事情。其实不论你的手机值不值钱,丢东西的事情本身就会让人头疼。那么该怎样制服盗机者,在我们提高自身防范意识的同时,适当的为手机增加些防盗功能也是应该的。在众多手机操作系统中,Android手机操作系统由于他的完全开放性使得其应用人群独占鳌头。图1.1 Android系统构架Android(智能机器人)是 Google 开发的基于 Linux 平台的开源手机操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,其系统构架如图1.1所示,被誉为第一个完整、开发而免费的移动平台。Google 提供在线文档、工具、论坛和软件开发工具包等资源,以便开发者在 Andr

11、oid 平台上开发应用程序。并且众多手机制造商,如三星、摩托罗拉、HTC、LG和小米等,还有许多半导体公司,如英特尔、德州仪器、NVIDIA 和高通等,参与 Android 手机设计。由此可见,Android发展前景不容小觑,已成为目前主流的手机操作系统之一。Android 手机设备运行在 Linux 操作系统下,这使得其上运行的 Android 应用程序具有很强的安全性。每一个 Android 应用程序均运行在不同的进程中,每个进程都对应一个 Dalvik 虚拟机的实例。基于 Java 虚拟机,Dalvik 为移动设备进行了优化设计。Dalvik 虚拟机具有较小的内存占用,而且多个 Dalv

12、ik 虚拟机的实例在手机设备中可以并发运行。Android 应用程序为托管代码,所以,由应用程序而导致系统崩溃的可能性很小,这也降低了设备崩溃的可能性2。综观Android手机系统,我们不难发现,应用本系统开发手机的生产厂商多,用户基数大,安全性高,并受到众多大牌公司支持,基于以上优越性,在Android系统上开发本手机防盗应用具有重要的现实意义。1.2 国内外研究现状1.2.1 国内研究状况毋庸置疑手机防盗应用肯定归属于手机安全类软件,对于安全软件的开发与研究又是杀毒软件公司首要考虑的功能之一,所以国内的很多杀毒软件公司在自己的产品中都涉及了防盗功能。例如金山手机卫士、360手机卫士、QQ手

13、机管家等保护手机系统安全类软件中具有防盗功能。图 1.1手机防盗1.2.2 国外研究状况英国一家手机服务公司宣布推出一整套手机防盗软件的服务,使用该服务的用户在手机被盗后不仅可及时转移手机信息,手机还能发出刺耳鸣声,让窃贼根本无法使用所盗手机。当用户在手机中安装这款软件后,每月只需支付10英镑(约合18美元)即可享受防盗服务。一旦手机被盗,用户可立即致电公司。公司随即向被盗手机发送指令,将里面存储的信息全部转移至安全服务器,随后锁定手机功能并使手机发出刺耳的鸣声。 该公司介绍说,防盗程序启动后,窃贼即便更换SIM卡也无法解除锁定。此外,只要不取出电池,鸣声就不会停止。用户购买新手机后,还可申请

14、将原来手机中的全部信息转移至新手机内。据伦敦市警察局统计,该市每月约有万部手机被盗。警方希望这一手机防盗软件能改善这一局面3。美国的苹果公司,在其官网上向所有用户提供了一项云端技术服务,只要苹果手机或者苹果的其他移动设备,都可以享受到手机卫星定位功能。具体做法是:首先,在拿到苹果后,你要先申请属于你的AppleID,登录苹果商店或者在MobileMe上注册,这个应用就可以实时定位你的iPhone的位置。图 1.2 苹果手机防盗1.3 开发研究内容从上面的应用我们可以看出,无论是国内还是国外,只要是致力于防盗功能的软件,其最核心功能都用到了GPS、锁屏、媒体播放等。因此,综合以上各软件优点,新型

15、的手机防盗应用软件应具有GPS定位、被盗时锁屏、通过短信控制以最大音量发报警音、远程销毁隐私数据以及偷拍盗窃者长相等功能。同时,防盗应用软件也应充分利用操作系统固有的资源。因此,本课题的任务是设计一款基于 Android 平台开发的一款手机防盗软件。通过Android系统中的广播机制后台监听手机的各种状态,根据状态的改变来判断手机是否安全。一旦手机丢失,我们便可通过向失窃手机发送指令短信的方式,应用Android系统的GPS(Global Positioning System,全球定位系统)、SMS(Short Messaging Service,短信服务)、Activity(用户界面)、Br

16、oadcastReceiver(广播机制)、Intent(请求)、Service(服务)以及Content providers(访问数据库)等技术控制手机并获得手机具体位置,旨在为丢失手机用户找回手机提供了重要依据。2 手机防盗应用开发的基础2.1 Java基础Java由Sun(Stanford University Network)公司于1995年5月为增强互联网的交互性而设计。Java语言最早的名字为C+-,从名字上我们可以看出,Java语言的原型为C语言,后经大量优化在C基础上增增减减,最终设计出这款现在企业级开发的第一语言4。Java语言具有极强的跨平台能力,多语言的支持,占据着互联网

17、开发语言的首位。基于Android系统的手机应用全部应用Java语言编写完成。所以,想在Android系统上做出一个好的应用来不仅要会Java语言,而且还要运用熟练。对此,我通过观看Mars老师的Java4Android视频和对Java相关书籍的精读与练习,强化了自己对Java语言的掌握,使我对Java的运用能力有了很大的提高,并为编写与设计Android应用奠定了良好地基础。2.2 Android基础知己知彼者百战百胜。想在Android系统上做开发,就一定要了解Android系统,知道他的由来和内部构造。Android操作系统最初主要支持手机,2005年Google收购了刚刚成立22个月的

18、Android公司,也正是有了在Google这样巨头公司下发展的机会才使得Android系统迅猛发展。2007年11月5日,以Google为首的34家公司宣布成立OHA(Open Handset Alliance,开放手机联盟)。2008年9月22日,美国运营商T-Mobile USA在纽约正式发布第一款Google手机-T-Mobile G1。Android平台的主题思想和Google是一样的,就是随时随地为每个人提供信息5。图 2.1 Android版本最早的Android版本为Android 1.0(发条机器人),自Android系统发布第一版本到现在已经更新多次。Android 1.1

19、 Beta(阿童木) 2008年9月发布的Android第一版,后来由于涉及到版权问题,Goolge将其命名规则变更为用甜点作为它们系统版本的代号的命名方法。其各版本logo如图2.1所示。Android 1.5 Cupcake(纸杯蛋糕)Android 1.6 Donut(甜甜圈)Android 2.0/2.0.1/2.1 Eclair(松饼)Android 2.2/2.2.1 Froyo(冻酸奶)Android 2.3 Gingerbread(姜饼)Android 3.0 Honeycomb(蜂巢)Android 3.1 Honeycomb(蜂巢)Android 3.2 Honeycomb

20、(蜂巢)Android 4.0 Ice Cream Sandwich(冰激凌三明治)Android 5.0 Jelly Bean(果冻豆)3 手机防盗应用方案的设计在电子领域,要想拥有很好的市场前景,就必须应用最先进的设计技术、最成熟的设计理念以及最合理的设计方法才能使得产品得以发展。于是我选择了目前市场应用最为广泛的金山手机卫士、360手机卫士和QQ手机管家其中的手机防盗部分作为参考。学习并对比这3家在此功能上的不同。分别在UI(User Interface,用户界面)、Function(功能)和Service上做了比较。表格 1 手机防盗UI、Function和Service对比比对参数金

21、山手机防盗360手机防盗QQ手机防盗UI初始化设置步骤3步3步4步主界面信息栏个数6个6个5个进入应用层界面效果以文字为主视图+文字以文字为主UI层底色灰色白色白色Function主要功能换卡短信通知销毁数据定位手机发报警音锁定手机防盗拍照换卡短信通知删除数据追踪手机位置响报警音锁定手机数据删除手机定位找回密码远程锁机输入错误提示一般精准一般ServiceGPS定位功能有有有短信监听发送有有有开机监听有有无从表格1中我们可以很清楚的看到,在UI方面360更为注重,以多图少字的方式展现功能,使用户更加喜欢,也方便了用户对功能的理解。不过从Function上来看,金山手机防盗的设计就要优于另外两家

22、,在所有功能的基础上还加进了一项防盗拍照,这是仅有4项功能的QQ所没能想到的安全设计。综合以上软件优点便是此软件将要实现并达到的目标。因此我将结合360的UI、金山的Function和Service做出一款即看上去漂亮而且功能也强大的手机防盗软件。3.1 UI设计UI设计是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由,充分体现软件的定位和特点。如图3.1就是一副很美观的UI。图 3.1 UI软件设计可分为两个部分:编码设计与UI设计。编码设计大家都很熟悉,但是UI设计还是一个很陌生的词,即使一些专门从事网站与多

23、媒体设计的人也不完全理解UI的意思。UI的本意是用户界面,是英文User和 Interface的缩写。从字面上看是用户与界面2个组成部分,但实际上还包括用户与界面之间的交互关系。在飞速发展的电子产品中,界面设计工作一点点的被重视起来。做界面设计的“美工”也随之被称之为“UI设计师”或“UI工程师”。其实软件界面设计就像工业产品中的工业造型设计一样,是产品的重要卖点。一个电子产品拥有美观的界面会给人带来舒适的视觉享受,拉近人与商品的距离,为商家创造卖点。界面设计不是单纯的美术绘画,他需要定位使用者、使用环境、使用方式并且为最终用户而设计,是建立在科学性之上的艺术设计6。综合上述UI设计特点,加上

24、方便实用的设计特点,我将本手机防盗应用的UI分为了5层,他们由UI窗口层、UI主层、UI功能体验层、UI功能查看层和UI功能设置层组成。其层次流程如图3.2所示。图 3.2 UI总流程图3.1.1 UI窗口层UI窗口层分为两个界面,一个是初次开启应用时进入的设置初始化界面,另一个则是用户在非第一次开启应用时弹出的用户身份验证窗口。图 3.3 初始化设置当用户第一次开启应用时,展现在用户眼前的是一个设置初始化界面,如图3.3所示。用户可按照相应提示完成放到设置,其中包括设置防盗安全密码和设置安全电话号码。防盗安全密码将用于验证应用本软件用户的身份,在非第一次开启此防盗软件时将需要用户输入防盗安全

25、密码。另外,设置好的防盗安全密码将会编进防盗指令,用于控制手机实现相应的操作。安全手机号的设置非常重要,设置成功后,此号码将被认为是唯一可信赖的手机号码,当手机被盗后,防盗软件将会按照指令向安全号码手机发送手机状态。图 3.4 验证窗口图3.4展现的是用户在非首次开启应用时弹出的验证用户信息窗口。此通行密码为用户设置的防盗安全密码,通过此方式保证了用户设置信息的安全性。UI窗口层为本应用软件的最顶层,此层的UI设计好坏决定了用户对本软件的第一印象,所以要想得到用户的肯定,这层的设计一定要做好。为此,在选择文字的字体、颜色、大小以及摆放位置做了无数次的调整,努力达到最好、最舒适。除了这些我还在输

26、入文本框里加进了提示信息如:输入密码框里的“612位数字或字母”等,在方便用户应用的同时也美化了UI。3.1.2 UI主层UI主层是个选择界面如图3.5,本层为用户提供3种主要操作,分别为防盗功能体验、防盗指令查看、防盗信息设置。图 3.5 UI主层在本层UI的上面是一个宇宙图片,寓意着安装本应用后,即使你的手机被带到了宇宙我们也能找到它,当然这有些夸张了,不过我们还是要对此软件充满信任的。除了这张宇宙图片我还在每个选项前后都加附上了相应功能的logo,学习360的多图设计,用视觉告诉用户本条选项的功能。为达到UI布局整齐的效果,我采用列表式布局,将选项按照用户需求量进行排布,这样的布局可是U

27、I实现整齐、清晰、功能突出等效果,属于理想的UI设计。3.1.3 UI功能体验层UI功能体验层如图3.6所示,此UI界面同样继承优良设计布局方案将本应用所有功能统一以列表形式列出,最前端图标代表着此条选项所要实现的功能,然后每个选项的功能说明以大字功能名加小子简要说明的形式整齐的展现在界面上,让用户对选项功能一目了然。图 3.6 UI功能体验层当用户点击进入UI功能体验层的每个选项后,就会看到每个功能实现的具体说明,而且在每个可以单机实验的功能里都加进了功能体验按钮,可以让用户体验本功能的真实效果。其效果图见附录一。 3.1.4 UI指令查看层在UI指令查看层,总结罗列了开启每个防盗功能的防盗

28、指令,用户可以在这里方便快捷的得到所需防盗指令,如图3.7所示。图 3.7 UI指令查看层3.1.5 UI信息设置层UI的设置层是UI非常重要的一个视图层,此层要以最方便,最简约,最快捷为核心排版设计,而且要尽量覆盖本软件的所有功能设置。基于以上要点,首先总结本防盗软件的设置功能如表2。表格 2设置功能所需功能功能目的功能体现形式设置此功能键的意义防盗开关方便控制防盗功能的开启与关闭开关按钮可以方便用户对防盗应用软件的控制,无需卸载就能关闭防盗换卡锁定开关避免因用户自己换卡执行错误指令开关按钮在避免发送错误指令的同时,用户也可通过此开关对锁定功能进行单独体验换卡短信通知开关避免因用户自己换卡执

29、行错误指令开关按钮在避免发送错误指令的同时,用户也可通过此开关对换卡短信通知功能进行单独体验防盗密码重置用于修改安全密码加密形式方便用户在首次初始化后改变防盗安全密码安全手机号重置用于修改安全手机号码显示预置号码方便用户在首次初始化后改变防盗安全手机按照表格2中的功能需求,我在设置UI里建立了与之相应的5个控件,以方便用户对软件的应用控制。最终设计出图3.8的效果来实现功能。图 3.8 UI设置层3.2 Function设计我们在UI的设计中了解到一款软件拥有一个美观的UI是多么重要,那我们该如何实现这种华丽的显示呢?这就需要又一个很好的后台设计既功能设计。3.2.1 应用初始化初始化界面是让

30、用户设置信息用的,所以首先我要告诉用户需要设置的信息都有哪些,介绍完后还要在相应的位置给出用于填写信息的控件。这里我们用Android中最常用的TextView和EditText两个布局控件满足需求。并且在EditText里加入hint属性显示相关提示信息。对于密码的设置,我们都希望处于不可见状态以保证我们个人信息的安全,我用password属性来控制输入时的显示状态。在整个UI的最下面我还放置了两个按钮,方便用户的进一步应用和退出,此功能将用Button控件实现。3.2.2 功能选择功能选择的UI主要分为两部分,可以从上到下分为两段,在布局控件中用LinearLayout实现,并设置排版属性

31、为垂直布局。上半部为一个图片,下面则需要一个List控件完成效果,整个UI的程序将用继承ListActivity类来描述已达到选项罗列的效果7。图3.9为Android的文件管理。在Android中所有资源文件要统一管理并放到res文件夹中,并把每个资源都加上各自的ID,以方便调用。所有的调用ID则会放到gen文件夹下的R.java文件中进行统一遍历,我们所要的资源便可从这里索取。例如我们的宇宙图片。图 3.9 文件管理3.2.3 功能体验功能体验UI分为两层呈现。外面一层同样用一个继承ListActivity的类来实现,在list空间里排布好每个图标和文字的位置,这里要用到ImageView

32、控件添加图片。内层则是一个介绍体验层,这层的总体排布用LinearLayout的垂直分布就可以完成。添加Button按钮实现用户体验功能。3.2.4 功能查看这个界面完全是文字的排布,同样用ListActivity加以LinearLayout垂直型布局就可以完成。3.2.5 功能设置功能设置UI为用户可操控界面,所以要使用继承PreferenceActivity的类来完成相应的功能,此类是Android专门用来做UI设置界面用的,所以这个类中方法的应用也相对方便,但其布局文件与众不同,需要在res文件中新建个XML文件进行单独管理。其布局空间类型主要分为3大类AppWidget Provide

33、r、PreferenceScreen和Searchable,其中最常用的是PreferenceScreen,在这里又包含CheckBoxPreference、EditTextRreference、ListPreference、Preference、RreferenceCategory、PreferenceScreen和RingtonePreference7个控件8。我们的UI设置界面就用PreferenceScreen来完成。3.3 Service设计手机防盗应用软件在实际应用过程中一定是常驻后台的软件,所以不管用户是否打开软件,只要是开启了防盗功能,那此软件就会一直在后台运行,出于这样的考虑

34、,我们就必须引进一个强大的后台支持,那就是Service既后台服务。3.3.1 数据库存储服务在Android系统中,用于保存数据有3种方式:SQLite、SharedPreferences和File。SQLite是一种嵌入式系统中很常见的数据库,而且所有的数据都储存在一个文件中,便于迁移。SQLite有见解的SQL访问界面、相当快的速度,而且仅占用相对其他数据库少量的内存空间。在Android平台上,SQLite库可以用来存储应用程序中使用到的数据,还可以通过定义Content Provider等方式,来让其他应用程序也可以取用其中的数据9。SharedPreferences是以键值对来存储

35、应用程序的配置信息的一种方式,它只能存储基本数据类型。一个程序的配置文件仅可以在本应用程序中使用,或者说只能在同一个包内使用,不能在不同的包之间使用。实际上sharedPreferences是采用了XML格式将数据存储到设备中,在DDMS中的File Explorer中的/data/data/shares_prefs下。File是一种文件存储方式也是一种较常用的方法,在Android中读取/写入文件的方法,与Java中实现I/O的程序是完全一样的,提供了openFileInput()和openFileOutput()方法来读取设备上的文件。具体问题具体分心,根据我们的需要与要求,本程序最终选定

36、用SharedPreferences来存储我们的数据。我们将用户设置的安全密码、安全手机号、防盗功能开关状态、SIM卡的IMSI码等信息以键值对的形式存入其中进行保存。一个Value对应一个Key值,如图3.10所示,Key值便是我们所保存的数据信息,这样的保存方式既快捷又准确。图 3.10 数据库存储方式3.3.2 监听按钮事件服务监听器是Android设计的一种监听模式,当用户执行了某些动作时,需要系统对这些动作做出相应的反应,那么这时就需要监听器来捕获这些来自用户的信息,将其传递给系统再做处理。在我们的软件中将会运用大量的监听器,其中包括监听用户点击按钮事件、监听开机广播事件、监听短信广

37、播事件等。监听按钮事件,是将每个按钮绑定上一个监听器,用Button.setOnClickListener()方法来实现,当触发相应的监听器后我们就可以执行我们想要的操作了。3.3.3 开机启动和短信广播服务防盗应用开启后会在第一时间对手机的SIM卡进行检查,判断时候更换。那么这种监听开机需要另一项Android机制的支持来完成广播机制。在 Android 里面有各种各样的广播,比如电池的使用状态,电话的接收和短信的接收都会产生一个广播。图3.11就是一张广播的运行机制原理图。图 3.11 Android广播机制各种广播在Android 系统中运行,当系统/应用程序运行时便会向 Android

38、 注册各种广播,Android 接收到广播会便会判断哪种广播需要哪种事件,然后向不同需要事件的应用程序注册事件,不同的广播可能处理不同的事件也可能处理相同的广播事件,这时就需要Android 系统为我们做筛选。本软件就利用开机广播和短信接收广播来判断手机状态和控制手机。3.3.4 GPS服务对于GPS我想大家现在都很了解,至少不会陌生,一般情况下每个装载GPS的设备都会由3颗卫星进行定位,在需要时可将设备所在的位置信息发送到GPS上,例如返回的经纬度,有了这些位置信息我们便可进行需要的操作10。在本应用中将会运用Android手机的GPS定位系统,为我们获取手机的当前位置,便于用户找回丢失的手

39、机3.3.5 私人数据的管理当用户的手机丢失后恐怕最担心的就是自己私人信息的外露,出于此考虑,本软件将通过继承IntentService的类,对用户的通讯录、媒体图片进行备份并向安全手机发送,同时将原有数据删除,以防止不法分子的非法企图。4 手机防盗应用方案的实施按照手机防盗应用技术的设计理念,我将从UI入手,在做完界面的基础上组合、衔接并加入相应的功能,最后通过Service实现后台监听、储存、处理等功能。在实现这些功能之前我们需要先搭建Android开发环境,其具体操作流程见附表二。4.1 UI的实现在Android系统中,UI的构建主要都由Activity类来完成。为了开发方便,Andr

40、oid又构造了多个继承Activity类的子类。其中在我们的软件里用到了ListActivity和PreferenceActivity两个子类和Activity本身。4.1.1 Activity 要使用Activity以及其子类首先要知道Activity的生命周期,只有知道其生命周期的顺序才能控制好界面的显示。图4.1为Google官方给出的Activity生命周期流程图。图 4.1 Activity生命周期在本软件中有8个UI直接通过继承Activity类构成,他们的应用方法大同小异,我就拿其中最复杂的初始化界面来介绍。初始化界面的整体设计流程图如图4.2所示。图 4.2 初始化UI流程图

41、.java文件:首先新建一个继承Activity的类FirstPublic class First extends Activity在此类里面对UI界面进行编辑以下为关键代码:12345678910111213141516171819202122232425262728/覆写onCreate方法public void onCreate(Bundle savedInstanceState) /绘制UI界面 setContentView(R.layout.first);/用findViewById的方法声明并得到Button控件Button bt_sure = (Button)findViewBy

42、Id(R.id.sure);/用setOnClickListener方法绑定Button监听器,获取用户点击按钮事件bt_sure.setOnClickListener(new OnClickListener() /用ifelse ifelse if语句对用户设置信息进行判断if(Str_password1.trim().equals() | Str_password2.trim().equals() /用Toast.makeText()方法做出相应提示Toast.makeText(First.this, 密码不能为空, Toast.LENGTH_LONG).show();else ifels

43、e/建立数据库编辑对象Editor editor = sp.edit();/储存安全密码到数据库editor.putString(password, Str_password1);/提交改动到数据库并保存mit();/创建intent对象Intent intent = new Intent();/指明跳转Activityintent.setClass(First.this, Main.class);/开启要跳转的UIFirst.this.startActivity(intent);图 4.3 layout布局控件示意图 layout.xml文件:为Activity提供布局支持的layout文件

44、是UI如何显示的控制中心,这个文件里的控件属性决定了控件的显示位置,图4.3是为First提供布局控件的layout的示意图,其主要代码如下:1234567891011121314151617/第一行定义了布局文件所链接数据库的版本以及支持的语言,utf-8为中文。/ 采用LinearLayout绝对布局的orientation属性定为vertical既垂直布局,第/一行属性为Android固定格式,我们不用过多研究/在布局文件中放进文本框并定义相关属性/嵌套绝对布局的水平布局 LinearLayout android:orientation=horizontal /嵌套相对布局 AndroidManifest.xml文件:Android中设立了一个统一管理文件,这个文件可以理解为Android的一个注册表文件,在这个文件中,我们可以声明我们自己定义的权限。如果所用的组件需要权限但没有在这个文件注册,应用程序就会无法正常运行。任何一个Activity类都是需要注册的,所以本应用的 AndroidManifest.xml主要代码如下:12345678910111213141516171819202122232425262728293031323334/注册接受开机广播权限/注册发送短信权限 /

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号