基于Android系统的手机安全卫士毕业设计.docx
《基于Android系统的手机安全卫士毕业设计.docx》由会员分享,可在线阅读,更多相关《基于Android系统的手机安全卫士毕业设计.docx(38页珍藏版)》请在冰豆网上搜索。
基于Android系统的手机安全卫士毕业设计
基于Android系统的手机安全卫士毕业设计
摘要1
Abstract2
第一章引言3
1.1研究背景3
1.2相关技术的发展现状3
1.3论文组织结构4
第二章Android的架构分析5
2.1Android特征5
2.2Android架构6
2.2.1应用程序框架6
2.2.2系统运行库7
2.2.2.1程序库7
2.2.2.2运行库8
2.3Android应用的构成和工作机制8
2.4Android与其他手机操作系统的比较9
2.5本章小结10
第三章软件的总体框架11
3.1软件主要功能概述11
3.1.1客户端登录/退出11
3.1.2手机防御12
3.1.3防打扰13
3.1.4个人隐私13
3.1.5程序管理14
3.1.6密码管理15
3.1.7关于软件15
3.2软件流程16
第四章软件实现18
4.1用户登录的实现过程18
4.2软件主页面的实现过程18
4.3手机绑定的实现过程19
4.4防打扰的实现过程21
4.5个人隐私的实现过程23
4.6程序管理的实现过程24
4.7密码管理的实现过程26
4.8关于软件的实现过程27
4.9用户退出的实现过程29
第五章总结与展望30
5.1论文总结30
5.2工作展望30
致谢31
参考文献32
摘要
随着智能手机一步步走进普通人的生活,它将成为人们获取信息的主要设备。
因此,手机的安全应用服务将会有很大的发展空间,安全卫士软件就是其中之一。
Android平台提供给用户非常方便的数据查阅功能,这将为安全卫士软件的设计与实现提供了更好的平台。
另外,Android平台基本上是免费的,所以能够有效降低软件的成本,最终让每个用户能够自由地获取信息,也为手机安全卫士服务的普及做出贡献。
本文对目前应用的Symbian、WindowsMobile、MacOSX和RIM等平台的现状进行了分析与比较。
进而研究分析了Android平台的系统架构和组件模型,接着解析了Android中的重要API和应用构成,以Intent和生命周期的机制。
在此基础上,基于Android平台设计和手机安全卫士软件。
本系统界面友好、操作便捷,具有良好的可扩展性和可维护性;系统经过测试,可以稳定运行,能够满足手机用户的基本需求。
关键字:
Android、Java、安全卫士、Intent、布局
Abstract
WiththeMobilePhoneentersintothelivestepbystep,itwillbecomethemaindevicetoobtaininformation.ServicesofmobilePhonewillhavegreatdevelopmentspace.SecurityGuardsisoneofthem.AndroidplatformoffersusersveryconvenientSecurityGuardsthefunction.ThiswillbeforSecurityGuardsthedesignandimplementationofserviceprovidesabetterplatform.Inaddition,Androidplatformisbasicallyfree,socaneffectivelyreducethesoftwarecosts,Finallyleteachuserwillbefreetogetinformation,AlsoforthepopularizationofmobilephoneSecurityGuardstheservicecontribution.
ThispaperdiscussesthepresentapplicationofSymbian,WindowsMobile,MacOSXandRIMsituationofsuchplatformareanalysedandcompared.FurtherresearchandanalysisoftheAndroidplatformsystemarchitectureandthecomponentmodel,thenanalyzestheimportantAndroidAPIandtheapplicationform,withIntentandlifecyclemechanism,onthisbasis,designanddevelopmentofmobilephoneSecurityGuardsthesoftwarebasedontheAndroidplatform.Thissystemfriendlyinterface,Convenientoperation,Hasgoodexpansibilityandmaintainability;aftertestofsystem,canstableoperation,Tomeetthebasicneedsofmobilephoneusers.
Keywords:
Android、Java、SecurityGuards 、Intent、 Layout
第一章引言
1.1研究背景
随着移动通信与Internet向移动终端的普及,网络和用户对移动终端的要求越来越高,而Symbian,WindowsMobile,PalmOS等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个开发性很强的平台。
经过多年的发展,第三代数字通信(3G)技术活动了广泛的接受,它为移动终端用户带来了更快的数据传输速率。
随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。
因此,移动终端的应用软件和需要的服务将会有很大的发展空间。
Google为此与2007年11月推出了一个专为移动设备设计的软件平台——Android。
Android是一套真正意义上的开发性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。
Android是由Linux+Java构成的开源软件,允许所有厂商和个人在其基础上进行开发。
Android平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定自己的特色化的产品。
因此,它具有很大的市场发展潜力。
根据中国互联网信息中心(CNNIC)发布的《第22次中国互联网络发展状况统计报告》显示,截止2008年6月底,我国网民数量达到了2.53亿,首次大幅超过美国,网民规模跃居世界第一位,其中手机网民达到7305万,手机上网成为网络接入的一个重要发展方向。
1.2相关技术的发展现状
PalmOS是一套专门为掌上电脑编写的操作系统,是一种轻量级、比较开放的操作系统,占用的内存非常小,允许用户在其基础上编写和修改相关软件,是支持的应用程序更加丰富多彩。
Plam在其它方面也还存在一些不足,如Plam操作系统本身不具备录音、MP3播放功能等,但是可以通过加入第三方软件或硬件设备来实现。
其代表性的产品有Palmm505、Palmm500、PalmIII等。
Symbian是一个实时性、多任务的纯32位操作系统,具有功耗低、内存占用少等特点,非常适合手机等移动设备使用,经过不断完善,可以支持GPRS、蓝牙、SyncML以及3G技术。
Windowsmobile系列操作系统是从微软计算机的Windows操作系统上变化而来的。
Windowsmobile系列操作系统功能强大,而且支持该操作系统的智能手机大多数都采用了英特尔嵌入式处理器,主频比较高,在其它硬件设置(如内存、储存卡容量等)上也采用其他操作系统的智能手机要高出许多,因此性能比较强劲,速度比较快。
Windowsmobile系列操作系统包括SmartPhone以及PocketPCPhone两种平台。
PocketPCPhone主要用于掌上电脑型的智能手机,而SmartPhone则主要为手上智能手机提供操作系统。
Linux系统是一个源代码开放的操作系统。
由于其开源性,手机制造商可以根据实际情况开放自己的Linux手机操作系统,从而也能够吸引更多的软件制造商在其上开发更多的应用软件,丰富第三方的应用。
但是Linux操作系统也还存在一些不足,集成开放环境和基于Linux的产品与PC的连接性比较差等。
1.3论文组织结构
本文首先分析了系统的研究背景,介绍了当前手机操作系统、即时通讯软件的发展现状和即时通讯协议,以及本文的主要内容。
第二章,介绍了Android的特征、Android的架构以及Android应用的构成和工作机制,并对Android与其它手机操作系统进行了比较,说明了Android的优势。
第三章,详细论述了在Android平台上开发手机安全卫士软件,提出了软件的主要功能,软件的总体描述和架构设计。
第四章,介绍了软件的设计特点,着重论述了账户操作的工作流程。
第五章,给出本文的结论并对课题进行了进一步的展望。
第二章Android的架构分析
Android是一个移动设备的软件平台,是由Linux+Java构成的开源软件,它提供包括SDK、KeyApps、Middleware、LinuxKernel四个部分在内的全套手机软件方案。
它开放了基于Linux内核以上的开发工具,从而保证了内容的可移植性和多样性。
Android平台为我们开发应用程序提供了一套很好的框架,我们可以在这个平台的基础上开发不同的应用程序,也可以开发新的组件供应用程序调用。
2.1Android特征
应用框架:
用于开发可重用、可替代的组件。
Dalvik虚拟机:
Android采用的Java虚拟机是自主开发的代号为Dalvik的虚拟机技术,在保证API方面兼容的同时Dalvik针对移动手机进行了大幅优化,占用资源更小,运行效率更高。
内嵌浏览器:
基于开源的浏览器网页排版引擎WebKit。
优化的图形:
强大的自定义二维图形库。
基于OpenGLES1.0标准的3D图形功能,在移动3D开发中有着至关重要的地位。
SQLite数据库:
SQLite提供结构化的数据存储。
它是一款轻型免费的且开源的数据库,它的设计目标是嵌入式的,它占用的资源非常低、需要的内存空间少、处理速度比较快和支持事务处理功能等。
多媒体支持:
支持各种通用的音频、视频和静态图像格式,如MP3、JPG、PNG等。
OpenCore是Android多媒体框架的核心,所有Android平台的音频和视频采集、播放的操作都是通过它来实现的。
通过OpenCore,程序员可以方便快速的开发出想要的多媒体应用程序。
GSM技术:
(依赖硬件)GlobalSystemforMobileCommunications,全球通讯系统,俗称“全球通”,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。
蓝牙,EDGE,3GandWiFi:
(依赖硬件)蓝牙和Wi-Fi都是一种短距离的无线连接技术,在短距离内可以实现话音和数据的无线传输。
EDGE(EnhancedDataRateforGSMEvolution),是增强型数据速率GSM演进技术。
Cameram,GPS,compass,andaccelerometer:
(依赖硬件)GPS(GlobalPositioningSystem),即全球定位系统。
它是由一个由覆盖全球的24颗卫星组成的卫星系统。
Compass是一个开放源码的Java搜索引擎框架。
强大的开发环境:
包括一个设备模拟器,调试工具,内存和性能检测,以及EclipseIDE的开发插件。
Eclipse是个集成开放环境。
2.2Android架构
Android的架构是由Linux内核、C/C++函数库、Dalvik虚拟机、应用框架以及关键应用程序构成的。
通过编译基于框架的应用程序可以降低开发负荷。
应用软件原则上是在DalvikVM上运行的。
图2.1Android架构
2.2.1.应用程序框架
开发人员也可以完全访问核心应用程序所使用的API框架。
该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。
同样,该应用程序重用机制也使用户可以方便的替换程序组件。
隐藏在每个应用后面的是一系列的服务和系统,其中包括;
丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(textboxes),按钮(buttons),甚至可嵌入的web浏览器。
内容提供器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据
资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,和布局文件(layoutfiles)。
通知管理器(NotificationManager)使得应用程序可以在状态栏中显示自定义的提示信息。
活动管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航回退功能。
2.2.2.系统运行库
2.2.2.1程序库
Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。
它们通过Android应用程序框架为开发者提供服务。
以下是一些核心库:
系统C库-一个从BSD继承来的标准C系统函数库(libc),它是专门为基于embeddedlinux的设备定制的。
媒体库-基于PacketVideoOpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。
编码格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。
SurfaceManager-对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。
LibWebCore-一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。
SGL-底层的2D图形引擎
3Dlibraries-基于OpenGLES1.0APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。
FreeType-位图(bitmap)和矢量(vector)字体显示。
SQLite-一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。
2.2.2.2运行库
Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。
每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。
Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。
Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。
同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中的"dx"工具转化成.dex格式由虚拟机执行。
Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。
2.2.3.Linux内核
Android的核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议和驱动模型。
Linux内核也同时作为硬件和软件栈之间的抽象层。
2.3Android应用的构成和工作机制
Android应用程序来说,是由Activity、IntentReceiver、Service、ContentProvider四部分组成,但并不是每一个Android应用程序都必须由这四部分组成。
在应用程序中使用时,需要在配置文件Android应用程序中所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。
Android应用的构成和工作流程图如下:
图2.2Android的构成和工作流程
2.4Android与其他手机操作系统的比较
我们主要从手机操作系统的Portablity、Reliability、Connectivity、ProductDiversity、
OpenPlatform、KernalSize、Standards、Security和SpecialFeatures这九个方面进行了比较,具体的比较结果如下表:
对上表比较的九项每一项以1分、0.5分、0分三个级别来进行了评分,综合各项评分,最好得到的评分结果是Android8.5分、Windowsmobile5.5分、Symbian6.5分。
Android基于开源的Linux以及标准的跨平台的编程语言Java,而且源代码开放,并且免费允许所有厂商和个人在其基础上进行开发,其开源和免费政策将赢得不少手机制造商的支持。
而且在其平台上集成了不少优秀的开源工程,如Webkit、OpenGL等,相信在不久,将会有更多的优秀工程加入到Android中来。
相比其他手机操作系统过于封闭的特性来说,Android在手机操作系统领域将会占有很大的优势,其功能也将会越来越强大。
2.5本章小结
本章对Android平台的特征、架构以及Android应用的构成和工作机制进行了详细的分析。
对于Android应用程序来说,主要由Activity、Service、IntentReceiver和ContentProvider四部分组成,但并不是对于每一个应用程序,这四部分都是必须的。
Activity是应用程序中最重要的一种构成块,我们对其进行了详细的分析,包括Activity的生命周期以及Activity之间的切换。
最后对Android与其它的手机操作系统从九个方面进行了比较,说明了Android的优势。
第三章软件的总体框架
3.1软件主要功能概述
1.手机防御:
绑定一个手机号码,可以手动输入,也可以读取手机通讯录来选择,并存入SharedPreferences,验证SIM卡是否被换,如若被换就向绑定的手机号发送短信
2.防打扰:
通过ExpandableListView展示“白名单”和“黑名单”,白黑名单可以手动添加,也可以读取手机通讯录,用ListView显示通讯录名单,需要重写BaseAdapter,并且加入checkBox用来选择多条信息到名单中,并将信息分别存到数据库对应的表中,还添加拦截对象,有“拦截黑名单”、“只接收白名单”、“拦截所有人”,通过RadioButton来选择。
用来自动挂断电话。
3.个人隐私:
通过listView显示创建的文本,并通过重写BaseAdapter来显示文本以及创建文本的时间。
新建文本可以手动输入还可以通过语音输入。
语音输入是通过调用google的语音搜索引擎来处理语音并且返回文本,并存入到Sqlite数据库。
4.程序管理:
读取手机的应用程序,分为用户程序和系统程序,通过GridView显示出来。
对于用户程序,通过选择菜单来实现运行和卸载,卸载是调用系统的卸载工具;对于系统程序,同样可以调用系统的卸载工具进行卸载。
5.密码管理:
用来修改登录密码,首先必须进行初始密码验证,才能修改密码,然后分别验证新密码和确认密码,同样新密码存储到SharedPreferences中。
密码修改成功后就会跳到登录页面,输入正确的密码才可以进入
6.关于软件:
主要用来介绍此软件的详细功能。
通过点击按钮弹出对话框文本来介绍。
3.1.1客户端登录/退出
客户端登录/退出功能:
第一次进入设置密码,以后每次登录输入密码。
登录(设置/输入密码)
关于软件
密码管理
程序管理
手机防御
个人隐私
防打扰
退出
(结束程序)
图3.1客户端登录/退出
3.1.2手机防御
手机防御功能:
通过绑定手机号来远程控制你的手机。
手机防御
输入手机号码(手动/读取手机通讯刻录输入)
开启防御
响警报音,便于找回手机
锁定手机,禁止胡乱使用
删除隐私,防止泄露秘密
更换SIM卡发送短信通知
图3.2手机防御
3.1.3防打扰
防打扰功能:
通过添加黑白名单来拦截短信和来电
防打扰
黑名单
白名单
图3.3防打扰
白名单里面的人短信和电话默认为不拦截,黑名单里面的人短信和电话默认为拦截,通过拦截规则,来选着用哪种模式实现防打扰。
拦截规则有拦截黑名单里面所有人、只接收白名单里面的人和拦截所有人。
3.1.4个人隐私
个人隐私功能:
记录你需要保存的个人信息
个人隐私
手动输入
语音输入
列表
图3.4个人隐私
3.1.5程序管理
程序管理功能:
管理手机里面的应用
程序管理
卸载
卸载
运行
系统程序
用户程序
系统权限
图3.5程序管理
通过获取手机里面的APP,将其分为用户程序(用户安装的应用)和系统程序(系统自带的应用)。
用户程序可以用来运行和卸载,系统程序可以用来卸载,卸载调用是系统的卸载工具,需要获取系统的权限。
3.1.6密码管理
密码管理功能:
更改软件的使用密码
密码管理
设置新密码
验证旧密码
验证
确认
返回登录页面
图3.6密码管理
设置新密码必须满足三个要求:
验证旧密码(必须输入正确的旧密码)、验证新密码(符合设置密码的要求)和确认新密码(重新输入设置的新密码确认)。
设置密码成功之后将会跳到登录页面,输入新密码即可以使用软件。
3.1.7关于软件
关于软件功能:
详细介绍软件的使用
关于软件
检测新版本
功能介绍
版本号
图3.7关于软件
通过关于软件可以获取到版本号信息,详细介绍软件是如何使用的,以及其功能,模拟访问后台来检测新版本。
3.2软件流程
用户第一次运行程序的时候,首先看到的是设置密码的对话框,设置符合要求的密码就可以进入软件,接下来看到的是程序的主页面。
主页面分六大块,分别是手机防御、防打扰、个人隐私、程序管理、密码管理和关于软件。
手机防御用来绑定手机号码。
被绑定的手机可以远程控制你的手机,如果手机SIM卡被换掉,就会向被绑定的手机发送短信通知,通知里面包含了如何远程控制手机的详情,被绑定的手机可以通过发送指定的短信内容控制你的手机,具体有删除你的手机里面的个人隐私,让你的手机以最大的音量报警以及锁定手机,锁定手机之后只有输入正确的密码才可以使用手机。
防打扰用来拦截短信和来电。
里面包括白名单和黑名单,白名单里面的号码的短信和来电默认为不拦截,黑名单里面的号码的短信和来电默认为拦截。
通过手动输入或者读取手机通讯录来添加白黑名单,将这些名单存入数据库,用来判断是否拦截。
功能菜单里面还有拦截规则,拦截规则分三种:
拦截黑名单里面的人、只接收白名单里面的人和拦截所有人。
个人隐私用来存储个人的一些文本信息,可以手动输入,也可以语音输入。