网上书店系统的设计与实现毕业论.docx_第1页
网上书店系统的设计与实现毕业论.docx_第2页
网上书店系统的设计与实现毕业论.docx_第3页
网上书店系统的设计与实现毕业论.docx_第4页
网上书店系统的设计与实现毕业论.docx_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河南职业技术学院毕业设计(论文)题 目 网上书店系统的设计与实现 系(分院) 信息工程系 学生姓名 单守臣 学号 08121019 专业名称 北大青鸟 指导教师 孙刚 2011年4月2日手机防盗系统单守臣摘要:随着通讯行业的迅猛发展,我国的手机用户也在不断的增加。据信息部的统计数据显示,我国已有接近7.4亿手机用户。随着手机群体的日益壮大,手机的失窃、遗失现象也变得日渐寻常,因此给用户带来诸多不便,甚至衍生纠纷。通过对市场进行大量的调查结合我们的专业知识,基于现在最热门的智能手机操作系统(Android)开发一款手机卫士,赋予它手机防盗和隐私保护等功能。本系统主要有五大功能模块:自动判断手机是否丢失、GPS防盗追踪、远程短信备份和删除、远程联系人备份和删除、短信监听。系统采用广播技术对短信进行监听,确保普通短信跟指令短信分离接收。跟传统的手机防盗相比:能备份手机数据跟踪手机位置保护用户隐私,等特色功能关键字:手机软件、Android、手机防盗、隐私保护目录第一章概述11.1、手机的发展11.2、研究的状况21.2.1、传统手机防盗技术21.2.2、传统手机防盗技术存在的缺陷21.2.3、用户需求现状31.3、开发技术31.3.1、Android31.3.2、GPS31.3.3、XML3第二章开发环境52.1、开发环境52.1.1、软件环境52.1.2、硬件环境52.2、开发环境的搭建52.2.1、操作系统的搭建52.2.2、开发IDE安装安装Java JDK102.2.3、安装Android SDK102.2.4、创建AVD(Android Virtual Device)102.2.5、在eclipse中安装ADT(Android Development Toos)插件112.2.6、设置Android SDK位置关联Eclipse122.2.7、设置Eclipse中AVD13第三章系统需求的分析和总体的设计143.1、编写目的143.2、项目背景153.3、定义、缩写词、符号153.4、任务描述163.4.1、开发目标163.4.2、应用目标163.4.3、项目运行环境163.5、功能模块163.5.1、自动判断手机是否丢失173.5.2、GPS全球定位173.5.3、远程备份、删除通讯录173.5.4、远程备份、删除短信息173.5.5、短信监听173.5.6、软件登陆找回密码173.6、数据描述18第四章系统详细设计194.1、功能模块的详细设计194.1.1、自动判断手机是否丢失194.1.2、GPS全球定位194.1.3、远程备份、删除通讯录204.1.4、远程备份、删除短信息214.1.5、短信监听224.1.6、软件登陆找回密码234.2、数据库详细设计23第五章系统测试及难点分析255.1、系统安装部署255.1.1、服务器端安装部署255.1.2、手机端的安装部署255.2、功能性测试255.2.1、非空性验证255.2.2、手机号码合法性验证,265.2.3、指令短信接受验证275.2.4、短信监听的验证275.3、难点分析275.3.1、指令短信27第六章总结与展望316.1、工作总结316.1.1、分析现有的手机防盗软件。316.1.2、对Android技术进行了综述316.2、展望31附录321程序截图321.1、代码部分截图321.2、程序运行界面截图332、代码部分342.1、接收指令短信代码342.2、GPS追踪412.3、数据备份443、参考书籍47致谢49第一章概述1.1、手机的发展从1876年第一步电话的诞生,经历了长达一个多世纪的发展,电话通讯服务已走进了千家万户,成为国家经济建设、社会生活和人们交流信息所不可缺少的重要工具,手机的发展经历了三个重要的阶段第一代手机(1G)是指模拟的移动电话,也就是在20世纪八九十年代香港美国等影视作品中出现的大哥大。最先研制出大哥大的是美国摩托罗拉公司的 Cooper博士。由于当时的电池容量限制和模拟调制技术需要硕大的天线和集成电路的发展状况等等制约,这种手机外表四四方方,只能成为可移动算不上便携。很多人称呼这种手机为“砖头”或是黑金刚等。这种手机有多种制式,如NMT,AMPS,TACS,但是基本上使用频分复用方式只能进行语音通信,收讯效果不稳定,且保密性不足,无线带宽利用不充分。此种手机类似于简单的无线电双工电台,通话是锁定在一定频率,所以使用可调频电台就可以窃听通话第二代手机(2G)也是最常见的手机。通常这些手机使用PHS,GSM或者CDMA这些十分成熟的标准,具有稳定的通话质量和合适的待机时间。在第二代中为了适应数据通讯的需求,一些中间标准也在手机上得到支持,例如支持彩信业务的GPRS和上网业务的WAP服务,以及各式各样的Java程序等。3G,是英文3rdGeneration的缩写,指第三代移动通信技术。相对第一代模拟制式手机(1G)和第二代GSM、CDMA等数字手机(2G),第三代手机一般地讲,是指将无线通信与国际互联网等多媒体通信结合的新一代移动通信系统。它能够处理图像、音乐、视频流等多种媒体形式,提供包括网页浏览、电话会议、电子商务等多种信息服务。为了提供这种服务,无线网络必须能够支持不同的数据传输速度,也就是说在室内、室外和行车的环境中能够分别支持至少2Mbps(兆字节每秒)、384kbps(千字节每秒)以及144kbps的传输速度。3G手机相对第一代模拟制式手机(1G)和第二代GSM、TDMA等数字手机(2G),3G通信的名称繁多,国际电联规定为“IMT-2000”(国际移动电话2000)标准,欧洲的电信业巨头们则称其为“UMTS”通用移动通信系统。目前,国际上3G手机(3G handsets)有3种制式标准:欧洲的WCDMA标准、美国的CDMA2000标准和由我国科学家提出的TDSCDMA标准。现在“3G通信”快要成为人们嘴上的口头禅了,所谓3G,其实它的全称为3rd Generation,中文含义就是指第三代数字通信。1995年问世的第一代数字手机只能进行语音通话;而1996到1997年出现的第二代数字手机便增加了接收数据的功能,如接受电子邮件或网页;第三代与前两代的主要区别是在传输声音和数据的速度上的提升,它能够处理图像、音乐、视频流等多种媒体形式,提供包括网页浏览、电话会议、电子商务等多种信息服务。相对第一代模拟制式手机(1G)和第二代GSM、TDMA等数字手机(2G),3G通信的名称繁多,国际电联规定为“IMT-2000”(国际移 动电话2000)标准,欧洲的电信业巨头们则称其为“UMTS”通用移动通信系统。该标准规定,移 动终端以车速移动时,其传转数据速率为144kbps,室外静止或步行时速率为384kbps,而室内为2Mbps。但这些要求并不意味着用户可用速率就可以达到 2Mbps,因为室内速率还将依赖于建筑物内详细的频率规划以及组织与运营商协作的紧密程度。未来手机未来的手机将偏重于安全和数据通讯。一方面加强个人隐私的保护,另一方面加强数据业务的研发,更多的多媒体功能被引入进来,手机将会具有更加强劲的运算能力,成为个人的信息终端,而不是仅仅具有通话和文字消息的功能。手机的安全化将是未来手机发展的重要方向之一。1.2、研究的状况随着我国手机用户的不断增多,手机的失窃或遗失现象也日渐寻常,手机一旦丢失,手机中的手机中的数据(通讯录、短信等)无法得到保存,用户的隐私无法得到保护,1.2.1、传统手机防盗技术传统的手机防盗需要在用户进行相关设置(设置一个安全号码)的前提下,在用户非法更换SIM卡后,发送当前手机号码和手机的入网序列号给安全手机。1.2.2、传统手机防盗技术存在的缺陷传统的手机防盗存在诸多的缺陷:1、 用户丢失手机后隐私无法得到保护2、 无法定位手机的位置3、 用户重要的通讯录、日程、短信、邮件、通话记录等无法得到备份4、 用户对丢失后的手机处于被动状态5、 用户无法获取手机当前的通讯状态6、 有这类功能的手机都价格不菲1.2.3、用户需求现状鉴于传统手机防盗追踪的不足,用户需要一款具有强大功能的手机防盗追踪系统:1、 定位手机的位置2、 监听手机通讯3、 远程通过指令备份用户通讯录4、 远程通过指令备份用户短信5、 保护用户隐私1.3、开发技术1.3.1、AndroidAndroid一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前,最新版本为Android 2.4 Gingerbread和Android 3.0 Honeycomb。1.3.2、GPSGPS 是英文Global Positioning System(全球定位系统)的简称,而其中文简称为“球位系”。GPS是20世纪70年代由美国陆海空三军联合研制的新一代空间卫星导航定位系统 。其主要目的是为陆、海、空三大领域提供实时、 全天候和全球性的导航服务,并用于情报收集、核爆监测和应急通讯等一些军事目的,是美国独霸全球战略的重要组成。经过20余年的研究实验,耗资300亿美元,到1994年3月,全球覆盖率高达98%的24颗GPS卫星星座己布设完成。在机械领域GPS则有另外一种含义:产品几何技术规范(Geometrical Product Specifications)-简称GPS。1.3.3、XMLXML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。本毕业设计论文主要有五部分组成,第一章是概述,概述了手机的发展、研究状况和开发技术;第二章是开发环境的搭建,包括eclipse3.2的安装、ADT插件的安装、Android SDK的安装、手机模拟器的建立;第三章是毕业设计内容,包括需求分析是说明书、功能模块分析等;第四章是系统的详细设计;第五章是系统的详细设计;第六章是总结和展望;第七章是附录,包括设计代码和参考书籍第二章开发环境2.1、开发环境2.1.1、软件环境(1) 开发工具:Eclipse 3.4(2) 插件 ADT 0.9.7(3) Android-sdk_Windows 开发包(4) Jave JDK1.6(5) 操作系统:win72.1.2、硬件环境(1) CPU 双核 2.0以上(2) 内存 4G以上(3) 硬盘 320G(4) 网络 百兆网卡2.2、开发环境的搭建2.2.1、操作系统的搭建1、将win7安装盘放进光驱,重新启动系统2、进入系统第一个安装界面,出现选择语言窗口,采用默认,此时单击“下一步”如图:2.1图:2.1 语言选择3、阅读许可条款,点击“我接受许可条款”,然后单击“下一步”,如图2.2图:2.2许可条款4、选择安装方式,这里选择“自定义”5、选择安装到那个分区,按照默认选择“磁盘0分区1”,即C盘,然后点击“下一步”,如图:2.3图2.3安装分区选择6、现在开始安装win7,安装过程分五个阶段(复制windows文件、展开windows文件、安装功能、安装更新、完成安装),如图2.4图:2.4安装Windows7、系统安装完毕后,出现“设置Windows”,输入用户名,单击“下一步”,如图:2.5图:2.5设置用户名8、在出现的“设置Windows”窗口中输入密码和面提示,单击“下一步”,如图:2.6图:4.6设置密码9、接着输入windows产品密匙,单击“下一步”,如图2.7图:2.7输入密匙10、设置时区和时间、日期11、选择计算机当前的位置,下面有家庭网络、工作网络、公用网络,选择家庭网络,如图2.8图:2.8选择网络2.2.2、开发IDE安装安装Java JDK(1)、安装Java JDK(2)、安装Eclipse2.2.3、安装Android SDK下载android-sdk-windows,解压到指定地方,如:d:android-sdk-windows,运行d:android-sdk-windows下的SDK Setup.exe进行升级下载更新包。如果它提示https不可用,则必须在settings里把“Force https.http:”这一项勾上。然后选择左边“Avalibale Packages”,再选在一个SDK Platform,如“SDK Platform Android2.1,API 7,revision 1”,安装,如图:2.9图2.9联网安装更新SDK版本2.2.4、创建AVD(Android Virtual Device)AVD就是电脑里虚拟的Android手机,新版本SDK需要手动添加AVD,进入SDK目录,d:android-sdk-windows,运行SDK Setup。Exe,点击左边栏“Virtual Devices”,右边点“New”, 弹出对话框,给 这个SVD随便取一个Name,如果手机型号Hero,然后设置Target为某个Android版本,SD Card为虚拟的SVD的SD卡容量,在设置分辨率,如320*480,然后在Hardware添加到这台AVD需要的特别设备商,如键盘KeyBoard等,最后点击下面“Create AVD”完成.,如图:2.10图2.10创建AVD2.2.5、在eclipse中安装ADT(Android Development Toos)插件在/android/ADT-0.9.7.zip 下载一个ADT的eclipse插件,解压后把features下的:com.android.ide.eclipse.adt_0.9.7.v201005071157-36220.jarcom.android.ide.eclipse.ddms_0.9.7.v201005071157-36220.jar复制到eclipse下的features目录下,然后把plugins下的com.android.ide.eclipse.adt_0.9.7.v201005071157-36220.jarcom.android.ide.eclipse.ddms_0.9.7.v201005071157-36220.jar复制到eclipse下的plugins目录下,然后重新启动eclipse就会发现Android的小机器人图标和新建Android工程的选项2.2.6、设置Android SDK位置关联Eclipse运行Eclipse,菜单栏“Window”|“Preferences”,左边栏点击“Android”,右边SDK Location填写SDK位置,如d:android-sdk-windows,点击“Apply”,选择一个Platform,完成,如图2.11图2.11配置Android SDK位置关联Eclipse2.2.7、设置Eclipse中AVD运行Eclipse,菜单栏“Run”|“Run Configurations”,选择Android Application,选择一个configuration,右侧选择“Target”,再选择一个AVD即可。第三章系统需求的分析和总体的设计3.1、编写目的随着通讯行业的迅猛发展,我国的手机用户也在不断的增加。据信息部的统计数据显示,我国已有接近7.4亿手机用户。随着手机群体的日益壮大,手机的失窃、遗失现象也变得日渐寻常,因此给用户带来诸多不便,甚至衍生纠纷在完成了针对“手机防盗”软件市场的前期调查(统计结果如图3.1),同时与多位手机防盗软件使用者进行了深入探讨的基础上,集合现在Android在中国的发展,提出了这份毕业论文。图 3.1市场统计结果图此毕业论文对“手机防盗”软件做了全面细致的用户需求分析,明确所要开发的软件应具备之功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。预计产生的效益:为项目开发奠定基础,给项目开发人员清晰的思路。预计系统开发成果:编写一个界面友好的软件,实现预期要达到的目标,书写论文和相关文档,描述系统的具体开发流程和功能,通过这些提高对系统开发的认识。3.2、项目背景从20世纪八九十年代香港美国等影视作品中大哥大的出现,到目前手机已经经过了三个时代(1G手机、2G手机、3G手机),未来手机未来的手机将偏重于安全和数据通讯。一方面加强个人隐私的保护,另一方面加强数据业务的研发,更多的多媒体功能被引入进来,手机将会具有更加强劲的运算能力,成为个人的信息终端,而不是仅仅具有通话和文字消息的功能。手机的安全化将是未来手机发展的重要方向之一。根据对同类产品的不完全统计,传统的手机防盗追踪软件只能进行追踪功能,向用户返回受保护手机当前的经纬度,而不能主动性的去监控受保护的手机,也不能在手机丢失后对手机进行隐私保护,避免次生危害。这样的功能远远满足不了用户的需求。而更有很多商家利用这点功能提高手机的价格,让用户难以接受。为了让用户对受保护手机进行主动操作,并且根据自己的意愿进行远程隐私保护,我们开发出了这款手机防盗软件Never Lost。在相关的设置前提下,可以非即时性的操控受保护的手机,既能在保护个人隐私的,又能为找回手机提供最大便利。3.3、定义、缩写词、符号安全手机:一般是您的第二部或亲朋好友的手机。在手机丢失后,用以接收原机资料,或实施控制。指令短信:在手机丢失后,可以使用安全手机发送指令短信从而进行对原手机的各项操作。指令短信由两部分组成(指令+验证码)。验证码:用以让程序区分普通短信与指令操控短信。需要预先设置。Android:本义“机器人”,是Google与2007年11月5日宣布的基于Linux平台的开源手机操作系统,该平台有操作系统、中间件、用户界面和应用程序组成,号称是首个为移动终端打造的真正开放和完整的移动软件。XML:即可扩展标记语言,XML是Internet环境中跨平台的,依赖于内容技术,是当前处理结构化文档信息的有力工具Java:是由Sun Microsystems公司于1955年5月推出的java程序设计语言和java平台的总称。3.4、任务描述3.4.1、开发目标开发一款具有功能强大,具有防盗追踪兼隐私保护的手机防盗追踪系统。3.4.2、应用目标让用户可以被动接受定位等信息的同时,也能主动的以监控受保护手机,最大程度保护用户数据、避免衍生危害。3.4.3、项目运行环境装有Android2.1系统的手机(或者2.1以上)3.5、功能模块描述:如图3.2所示图:3.2功能结构图功能模块描述:3.5.1、自动判断手机是否丢失软件手机安装,会自动扫描当前SIM卡,保存在软件中,当手机启动的时候,软件会自动启动并检测当前SIM卡是否是以前的那张SIM卡,如果不是,视为手机已经丢失。3.5.2、GPS全球定位当软件判断手机丢失后,软件会自动启动gps全球定位,把定位信息以经纬度的形式返回给安全手机。3.5.3、远程备份、删除通讯录当受保护的时候收到安全手机发来的通讯录删除命令时,会自动先备份通讯录,将通讯录传到服务器并返回给安全手机下载地址,然后清空通讯录3.5.4、远程备份、删除短信息当受保护的手机收到安全手机发来的删除短信息命令时,会自动后台先备份通讯录,将短信传送的服务器并返回给安全手机下载地址,然后清空通讯录3.5.5、短信监听当受保护的手机收到安全手机发来的开启短信监听命令时,会后台监听受保护手机收到的短信,把发件人和信息内容转发给安全手机,3.5.6、软件登陆找回密码为了防止软件被其他人随便打开更改设置,在第一次安装的时候要设置一个密码。以后每次打开软件时,必须输入密码才能对设置进行更改。而如果忘记密码,则可以通过“密码找回”将密码发送至安全手机。3.6、数据描述本系统采用Xml存储系统中所需要的数据,如图3.3图:3.3数据结构图数据描述如下字段类型描述KEY_MY_TEL_NUMString本机号码KEY_TEL_NUMString安全手机号码KEY_PASSWORDString密码KEY_CHECK_CODEString验证码KEY_MONIT_SMSboolean是否启动短信监听第四章系统详细设计4.1、功能模块的详细设计4.1.1、自动判断手机是否丢失软件手机安装,会自动扫描当前SIM卡,保存在数据库中,当手机启动的时候,软件会自动启动并检测当前SIM卡是否是以前的那张SIM卡,如果不是,视为手机已经丢失会自动将当前的手机号码发送到安全手机,随后启动GPS追踪,追踪手机的位置。流程图如图4.1图4.1判断手机是否丢失流程图4.1.2、GPS全球定位当用户确定手机丢失后,可以通过短信发送启动GPS的指令给丢失后的时候,来启动被盗手机的GPS系统,GPS根据卫星获取当前的位置,将当前位置的经纬度以短信形式发送到安全手机。工作流程如图4.2图:4.2远程启动GPS最总流程图4.1.3、远程备份、删除通讯录用户确定时候丢失后,可以通过安全手机向丢失后的时候发送备份、删除通讯录的指令,被盗手机收到短息后验证是否是指令短信,如果是指令短信对指令进行验证是否是备份、删除通讯录指令,如果是手机收到备份删除通讯录指令后会对当前通讯录进行备份(将其备份成vcf名片文件),随后检测手机是否开启了GPRS服务,如果开通,讲备份文件上传到服务器,并把下载地址返回给安全手机。其工作流程如图4.3。图:4.3远程备份、删除通讯录工作流程4.1.4、远程备份、删除短信息当丢失后的时候接收到备份短信的指令后,会启动短信备份程序,读取所有的短信信息,将其号码和信息一一对应以xml格式进行存储,备份完毕后检测当前手机是否有GPRS服务,如果有将备份文件上传到服务器,并给用户返回下载连接。工作流程如图4.4图:4.4远程备份、删除短信流程4.1.5、短信监听当被盗手机接收到短信监听指令后,会启动手机的短信监听。被盗手机短信监听启动后,无论收到任何信息都会后台自动把信息内容和发件人信息转发给安全手机。工作流程如图4.5图:4.5短信监听工作流程4.1.6、软件登陆找回密码为了防止软件被其他人随便打开更改设置,在第一次安装的时候要设置一个密码。以后每次打开软件时,必须输入密码才能对设置进行更改。而如果忘记密码,则可以通过“密码找回”将密码发送至安全手机。4.2、数据库详细设计本系统采用了SharedPreferences以key-value的形式进行数据存数,详细设计如下:字段类型描述KEY_MY_TEL_NUMString本机号码KEY_TEL_NUMString安全手机号码KEY_PASSWORDString密码KEY_CHECK_CODEString验证码KEY_MONIT_SMSboolean是否启动短信监听数据存储的详细代码见附录。第五章系统测试及难点分析5.1、系统安装部署5.1.1、服务器端安装部署把服务端程序部署到tomcat服务器目录,启动tomcat服务器5.1.2、手机端的安装部署把安装文件(apk文件)拷贝到手机,运行手机安装器,找到要NeverLost进行安装,或者用户也可以通过“91手机助手”、“豌豆荚”等手机助手进行安装5.2、功能性测试5.2.1、非空性验证在系统设计的时候,系统的每一项都是比填项,进行了严谨的非空验证,本机号码也验证码(验证码是系统活的GSM的IMEI或者CDMA的MEID)都是系统自动读取并填写,本机号码不允许修改,用户可以根据自己的需要修改验证码,安全手机和密码是用户的必填项,系统进行了严谨的非空验证,如图5.1图:5.1系统对必填项非空的验证5.2.2、手机号码合法性验证,为确保用户输入的安全手机号码正确,当手机丢失有,安全手机能够准确的接受信息,系统采用了严谨的验证。验证适用于中国移动87.188.* ,147(数据卡不验证) 中国联通86 中国电信89 CDMA.* 133,153 适合目前所有的手机号码,如图5.2图:5.2手机号码合法性验证手机号码合法性验证代码片段如图5.3图:5.3手机号码合法性验证代码片段5.2.3、指令短信接受验证指令短信有“验证码+指令”组成,指令说明:1(获得当前的号码)、2(定位当前手机的位置)、3(远程备份通讯录、并清空通讯录)、4(远程备份短信息、并清空短信息)、5b(开启短信监听)、5e(关闭短信监听)。对与普通短信系统会正常接受听响铃提示用户阅读,对与指令短信系统则不会接受,系统会根据指令的不同在后台进行相应的操作。5.2.4、短信监听的验证系统收到普通短信之后(非指令短息)会检测短信监听是否开启,如果开启则向安全手机转发这条短信,并转发发件人信息,测试成功。5.3、难点分析5.3.1、指令短信指令短信也是短信,跟普通的短信没什么区别,手机收到指令短信后也会响铃提示用户阅读,用户看到这么奇怪的短信肯定会起疑心,克服不让手机正常的接受指令短信成了我们的一个难点。经研究,在Android系统中,是通过广播来通讯的。从现实生活中理解广播机制 一听到广播我们第一感觉就会联想到小时候村里面的广播,每逢村里有什么活动都是通过广播发送的。收听收音机也是一种广播,在收音机中有很多个广播电台,每个广播电台播放的内容都不相同。接受广播时广播(发送方 )并不在意我们(接收方 )接收到广播时如何处理。好比我们收听交通电台的广播,电台中告诉我们现在在交通状况如何,但它并不关心我们接收到广播时做如何做出处理,这不是广播应该关心的问题,OK,到这里我们从生活中的一些小例子浅浅的理解了一下广播,那么Android 中的广播是如何操作的呢?Android 的广播机制 在 Android 里面有各种各样的广播,比如电池的使用状态,电话的接收和短信的接收都会产生一个广播,应用程序开发者也可以监听这些广播并做出程序逻辑的处理。下面我画一张粗略的图来帮助大家理解广播的运行机制。如图5.4图:5.4Android中广播机制Android 中有各式各样的广播,各种广播在Android 系统中运行,当系统/应用程序运行时便会向 Android 注册各种广播,Android 接收到广播会便会判断哪种广播需要哪种事件,然后向不同需要事件的应用程序注册事件,不同的广播可能处理不同的事件也可能处理相同的广播事件,这时就需要 Android 系统为我们做筛选。Android 广播的生命周期在上面的接收器中,继承了BroadcastReceiver 并重写了它的onReceive 并构造了一个函数,下面通过图片来一步一步认识 Android 广播的生命周期。当我点击一下按钮,它向Android 发送了一个广播,如下图5.5图:5.5广播动作这时我们再点击一下按钮,它还是会再向 Android 系统发送广播,此时日志信息如图5.6:图:5.6广播输入信息Android 中广播的生命周期很短,它并不像Activity 一样复杂,运行原理很简单如图5.7图:5.7Android中广播的生命周期官方SDK对广播的解释如图5.8图:5.8SDK中对广播的解释大意为:如果一个广播处理完onReceive 那么系统将认定此对象将不再是一个活动的对象,也就会finished掉它。我们也注册一个短信广播,并设置其优先级为最高,这样以来我们的系统会在手机的短信客户端之前收到短信,然后分析是否是指令短信,如果是就提取指令并进行相应,然后终止广播的传递,手机短信客户端就收不到短信了。第六章总结与展望6.1、工作总结通讯行业的迅猛发展,手机通讯服务已走进了千家万户,成为国家经济建设、社会生活和人们交流信息所不可缺少的重要工具,手机中的重要信息,如通讯录、短信、日程安排等等对用户来说远大于手机的价值,结合手机发展的趋势,手机的安全性问题将是成为十分有意义的课题。本系统根据现实存在的需求予以开发,时限了预期的功能,目前已经有很多的用户使用,反映良好。本文做了一下几个方面的工作:6.1.1、分析现有的手机防盗软件。到目前位置,已经有很多的手机制造商和软件制造商为手机的防盗和隐私的保护而努力,而这些手机出来之后不但价格昂贵而且效果也不佳,不能满足用户的需求,市场上特别是在美国也有很多硬件上的防范错误,这样无非是加重了手机用户的经济负担,市场需要一个免费并且好用的集防盗和隐私保护于一身的软件。6.1.2、对Android技术进行了综述本文选择了Android平台来开发手机防盗最终和j2ee平台开发服务端,所以深入地了解了Android和J2EE的各项核心技术及应用是十分重要的。6.2、展望手机未来的发展将是更智能化、安全化,从安全角度上来考虑,手机的安全应该从两个角度上去考虑,防盗和隐私。最重要的是用户的隐私和数据,手机应该发展成为一个很小的网络终端,所以的信息都存储在服务器中,手机中的信息是从服务器中读取的,甚至包括手机中的个人设置信息,一旦用户的手机丢失,用户可以把手机丢失的信息报给服务器提供商,提供商锁定用户当前的信息,这样用户的隐私就不会泄漏,数据永远都不会丢弃。对与防盗,我觉得最重要的要从硬件生产商来考虑。附录1程序截图1.1、代码部分截图手机端代码截图如图 :附1图:附1手机端代码结构截图服务器端代码街头截图如图:附2图:附2服务器端代码结构截图1.2、程序运行界面截图登录界面截图如图:附3图:附3登录界面截图设置界面截图如图:附4图:附4设置界面截图帮助界面截图如图:附5图:附5帮助界面截图2、代码部分2.1、接收指令短信代码package com.zx.nl;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.telephony.SmsMessage;import android.util.Log;import com.zx.databackup.BackUpContacts;import com.zx.databackup.BackUpPublicFun;import com.zx.databackup.BackUpSMS;/* * 短信监听类 * * author 阿尔法 * */public class SmsReceiver extends BroadcastReceiver private static final String strRes = vider.Telephony.SMS_RECEIVED;Overridepublic void onReceive(Context context, Intent intent) try Log.i(info,begin);PublicFun.getSaveInfo(context);/* 读取验证码 */String key = PublicPara.checkCode;/* 读取安全手机号码 */String tel = PublicPara.telNum;/* 取得验证码长度 */int keyLength = key.length();/* 判断是否是SMS_RECEIVED事件 */if (intent.getAction().equals(strRes) Log.i(info,intent.getAction);/* 实例化一个传值对象 */Bundle bundle = intent.getExtras();/* 短信不为空 */if (bundle != null) Log.i(info,get the msm);/* 获取短信 */Object pdus = (Object) bundle.get(pdus);Log.i(info,pdus);SmsMessage msg = new SmsMessagepdus.length;Log.i(info,for);for (int i = 0; i pdus.length; i+) msgi = SmsMessage.createFromPdu(byte) pdusi);Log.i(info,for SmsMessage currMsg);for (SmsMessage currMsg : msg) Log.i(info,get the msm);/* 获取前n哥字符(用来判断时候是指令短信) */String codeStr = currMsg.getDisplayMessageBody().substring(0, keyLength);Log.i(info,String code1);/* 获取指令 */String code1 = currMsg.getDisplayMessageBody().substring(keyLength,currMsg.getDisplayMessageBody().length();Log.i(info,telAddress=currMsg);/* 获取来信号码 */String telAddress = currMsg.getDisplayOriginatingAddress().toString();Log.i(info,if listening is bean);String s1=(String)telAddress.subSequence(0,1);if(s1.equals(+)telAddress=(String) telAddress.subSequence(3, 14);/* 如果短信监听已经被开启 */if (!tel.equals(telAddress) & PublicPara.monitSms) /* 构造监听内容 */String messStr = Monitor mobile SMS,Telephone number:+ telAddress+ nText content:+ currMsg.getDisplayMessageBody();try /* 把监听内容发送到安全手机 */PublicFun.sendSms(tel, messStr); catch (Exception e) Log.i(info,if the key is the code1);Log.i(info,tel);Log.i(info,telAddress);/* 判断是否是指令短信,执行相应的操作 */if (codeStr.equals(key) & tel.equals(telAddress) Log.i(info,if the key is the code);/* 获取电话号 */if (code1.equals(1) Log.i(info,get the phone number);try PublicFun.sendSms(tel,The phone number is:+ PublicPara.myTelNum);Log.i(info,get the number success); catch (Exception e) /* 终止广播传送 */Log.i(info,stop the abortBroadcast);abortBroadcast();return;/* 启动GPS定位 */if (code1.equals(2) try PublicFun.sendSms(tel,GPS monitor start-up success);new GetGpsInfo(context, PublicPara.telNum); catch (Exception e) abortBroadcast();return;/* 清除通讯录 */if (code1.equals(3) try /* 备份通讯录 */BackUpContacts.BackupContactsInfo(context);/* 执行清空 */PublicFun.deleteContents(context);String ss = BackUpPublicFun.uploadFile(PublicPara.fileName.to

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论