基于安卓平台的手机安全卫士的设计与实现毕业设计.docx
- 文档编号:2712155
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:56
- 大小:1.30MB
基于安卓平台的手机安全卫士的设计与实现毕业设计.docx
《基于安卓平台的手机安全卫士的设计与实现毕业设计.docx》由会员分享,可在线阅读,更多相关《基于安卓平台的手机安全卫士的设计与实现毕业设计.docx(56页珍藏版)》请在冰点文库上搜索。
基于安卓平台的手机安全卫士的设计与实现毕业设计
毕业设计[论文]
题目:
手机安全卫士
学院:
计算机科学与工程学院
专业:
信息管理与信息系统
姓名:
学号:
指导老师:
完成时间:
摘要
伴随智能手机的不断普及,移动互联网的快速发展,伴随着3G时代的到来,智能手机的广泛应用,安卓成为活跃用户量最大的移动终端操作系统,并且安卓操作系统是开放源代码的,所以每个人都可以开发出一个安卓应用,导致安卓的应用数不胜数。
由于安卓的开源,导致每个人可以对安卓端的软件进行编写,而有些开发者在应用中加入一些非法的代码,窃取用户的隐私,使得手机的安全问题日益明显,手机安全问题关注度日益提高。
本系统正是针对那些恶意应用的,详细的阐述了手机安全卫士的开发流程,包括手机防盗、通讯卫士、软件管理、进程管理、手机杀毒、系统优化、高级工具、设置中心等功能模块。
整体项目采用MVC框架,是对安卓知识点的综合应用,用到的技术有(活动,服务,广播接收者,内容提供这,唤醒机制,数据库,自定义标题,自定义控件,小部件,进程间通讯等)。
本项目是通过xml文件对页面进行布局,后台使用java代码实现每一个业务逻辑流程,完成页面中的每一个需求。
本系统采用安卓作为开发平台,使用安卓开发工具作为开发环境,后台使用sqlite数据库进行数据的存储和传输,来实现手机卫士之的数据共享和业务逻辑的交互。
关键词:
手机卫士,安卓开发平台,MVC框架,数据库
Abstract
WiththegrowingpopularityofsmartphonesandtherapiddevelopmentofmobileInternet,Withtheextensiveapplicationofthe3Gera,smartphones,Androidbecamethelargestactiveusersofmobileoperatingsystems,AndtheAndroidoperatingsystemisopensource,soeveryonecandevelopanAndroidapplication,resultinginnumerousAndroidapplications.BecauseAndroidisopensource,leadingeveryonecandevelopAndroidterminalsoftwareforDIY,andsomedeveloperstodevelopsomeillegalcodeintheapplication,tostealtheuser'sprivacy,makingphonesecurityproblemshavebecomeincreasinglyapparent,andthephonesecurityproblemshascausedmanypeople’sconcern.
Thesystemisaimedatthosemaliciousapplicationsandthoroughdescribesthedevelopmentprocessofmobilesecurityguards,includingmobilesecurity,communicationsguards,softwaremanagement,processmanagement,mobileantivirus,systemoptimization,advancedtools,setupcentersandotherfunctionalmodules.ThewholeprojectusingMVCframework,isacomprehensiveapplicationofAndroidknowledge,Techniquesusedincludingactivity,service,broadcast,contentprovider,Notification,Database,customtitle,customcontrols,widget,aidlprocesscommunicationandsoon.Thisprojectiscarriedoutbyxmlfilelayoutonthepage,backgroundusingjavacodetoimplementbusinesslogicprocessesandcompletepagedemand.ThesystemusesAndroidasthedevelopmentplatform,usingADT(AndroidDevelopmentTools)asthedevelopmentenvironment.Backgroundusingsqlitedatabasefordatastorageandtransmission,andinthiswayitcanimplementdatasharingandbusinesslogicofthemobilesecurityguards.
Keywords:
Mobilesecurityguards,AndroidDevelopmentPlatform,MVCframework,sqlite
database
1绪论
1.1选题背景
Android移动终端操作系统由谷歌公司于2007年11月05日推出,Android操作系统是建立于Linux操作系统之上,该平台有操作系统、中间件、用户界面和应用软件层组成。
Android操作系统最初由AndyRubin开发,主要支持手机。
根据全球著名调查机构Gartner提供的数据,安卓系统在只能手机市场发占有率达到了一半以上。
相对于PC的安全性而言,手机安全对用户的威胁更大。
因为手机相对于PC而言其私密性更强,一旦手机遭受到安全攻击,将带来直接的经济损失。
所以,为了用户的隐私和手机安全问题,本次毕业设计将选择手机安全卫士作为毕业设计的题目。
随着科技的发展,移动互联网已成为当下的趋势,而拥有Android平台的终端设备已达到75%的占有率。
这都要归根于其平台的开放性,显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,使得Android下的应用多而混乱,其中不乏有大量的恶意扣费软件、盗取用户隐私的木马程序等等。
这就使得开发出一个保护用户隐私和阻截恶意软件的手机安全卫士显得很有必要。
本次开发的安全卫士不仅可以检测恶意的软件,还能绑定用户的手机,以便在手机丢失后远程锁定用户的手机,甚至远程销毁数据,已达到保护用户隐私的作用。
为了开发出一个适合用户需求的手机卫士,本次设计还借鉴了市面上一些商业性安全软件的一些构思和设计技巧。
而有的商业安全软件的界面不够人性化,本次项目针对那些缺点进行优化设计。
而随着技术的进步,对手机安全卫士的开发提出了更严格的要求和挑战,本次系统设计是以切合实际的发展趋势和用户需求而开发设计的。
国内研究现状分析,从2002年开始,全球领先的计算机安全厂商纷纷介入移动安全领域,并发布了相关的安全产品,反病毒技术在发展上大致经历了以下几个阶段:
①针对某个病毒的专有杀毒程序。
当手机病毒刚出现的时候,由于病毒数目很少,而且并不具有实质性的危害,安全厂商往往通过提供专有杀毒程序的形式来解决威胁。
②基于病毒文件HASH描述的反病毒扫描技术。
是通过给对应的病毒计算HASH,然后通过文件扫描找到对应的病毒。
基于HASH计算的反病毒引擎算法简单,而且病毒定义方式也很容易但是但是由于灵活性及效率原因,很快就被淘汰。
③基于通用病毒定义语言的反病毒扫描技术。
通用的病毒定义语言可以用最少的代价描述一个或者多个病毒,并极大的优化了扫描引擎的性能。
1.2系统开发环境
操作系统:
MicrosoftWindows7Ultimate
开发平台:
Android
开发环境:
AndroidDevelopmentTools
开发语言:
Java
数据库:
Sqlite
1.3本章小结
本章主要介绍了该项目的开发背景和本项目的特点,以及对市面上一些商业安全软件的一些模块进行小小的优化,针对用户的需求,简要阐述了该项目所要实现的基本功能和目标,并介绍了该项目的支持平台、开发环境、开发语言以及所要使用的后台数据库。
2需求分析
2.1可行性分析
随着Android用户的不断增长,手机安全卫士在各个应用下载榜上都名列前茅,国内有很多成功的案例,如:
奇虎360安全卫士,金山卫士,腾讯手机管家等。
而手机卫士这个项目乍一看不知道如何下手,并且其组织关系有很大的复杂性,但仔细分析后,发现它所用到的知识点基本上Android核心的知识点,比如:
Android的四大组件、自定义UI布局还有对一些系统API的综合运用。
并且由于Android的开源,我们还可以借鉴一下市面上的安全卫士的素材和UI布局,所有说如果我们能详细了解项目的开发流程并且熟悉Android核心的知识点,开发出这个项目并不存在太大的技术问题。
改革开放以来,我国经济发展迅猛,而21世纪是信息网络化的时代,近年来,越来越多的人都拥有自己的移动终端,而开发出一款能保护用户隐私和避免恶意软件损坏用户手机的安全卫士显得很有必要。
这次要开发的项目能很好的实现手机防盗和病毒查杀的功能,这个项目开发难度不是太大,并且通过开发工具可以导出一个APK文件,直接可以安装到用户的移动终端上,系统部署对软硬件要求不高,用户操作简单,使用比较方便,几乎不需要对用户进行专业培训就可使用本软件,不必要花费那么多的时间,也就是说最重要的是就是提高了效率,而又保证了各项数据的准确性,适应了当前的发展形式。
通过将近几天的可行性分析和对市场需求的调查,发现对手机卫士的需求还是蛮大的,通过技术和经济上的分析,开发出一款手机安全卫士是切实可行的,这就为我们后来的准备工作有了一个良好的开端。
好的开头是成功的一半,这会是后期开发的动力之所在。
2.2项目需求分析
手机安全卫士是针对当下形势需求而开发的,Android系统的火爆和开源,使得用户的资料都没有安全保障,所以一款适应潮流的手机安全卫士应运而生。
而本次项目开发是针对一些潜在的隐患而开发的,本项目预计实现9个大的功能模块,最主要的有手机防盗、软件管理、进程管理、手机杀毒等常用的功能。
尽力使每个Android都可以安装这款软件,其中手机防盗模块构思是根据用户是否开启防盗服务而启动的,根据用户预设的密码和手机SIM更换的状态来保护用户的隐私。
而软件管理模块是通过ListView展现出用户的所有安装的软件,其中有用户软件和系统软件之分,用户可以对安装的应用程序进行卸载、分享和启动。
进程管理是通过ActivityManager来拿到用户手机正在运行的进程,用户可以杀死任意一个进程,也可以全选杀死多个进程来释放手机的内存,节省控件。
手机杀毒模块是通过拷贝到用户存储卡上一个病毒数据库,检测用户安装程序的包名和程序的数字签名来识别病毒,并提示用户是否删除恶意病毒。
所有的功能模块都是运行于Android平台之上的,各个模块之间的耦合度比较低,都能独立运行在模拟器或者用户的移动终端上,方便用户的操作,能够实现用户的日常需求。
2.2.1项目的具体功能分析
整体项目采用MVC框架,是对android知识点的综合应用,用到的技术有activity,service,broadcast,contentprovider,Notification,sqlite数据库,自定义title,自定义控件,widget,aidl进程间通讯等,本项目所实现的功能如下:
①手机防盗:
根据预设参数,判断手机是否被盗,根据自定义协议发送手机中SIM卡的信息和手机的位置信息给安全号码。
可远程通过短信指令,给手机设置锁屏密码,远程锁定手机屏幕,远程格式化手机SD卡,恢复出厂设置,极大的保护用户的隐私安全,通过aidl注册admin设备,一般用户无法卸载该程序。
②通讯卫士:
来电号码归属地显示,来电归属地位置的调整,来电黑名单/短信黑名单管理。
电话短信备份和还原,保护手机的数据和通讯安全。
③软件管理:
系统软件和本地软件,可以显示软件的详细信息,启动、删除、分享应用程序。
程序锁可以指定要保护的程序,用户进入要保护的程序之前必须输入密码。
④进程管理:
显示当前系统运行的进程信息,显示系统内存信息,可以杀死某个进程,批量杀死进程,通过桌面widget实时展现用户当前的手机内存状态。
⑤手机杀毒:
从服务器下载最新的病毒库,根据程序的包名和程序的数字签名识别病毒,提示用户并查杀恶意软件,使吸费木马无处可藏。
⑥系统优化:
清理手机缓存,提高手机性能,优化电池管理。
⑦高级工具:
手机号码归属地查询,更改归属地位置,常用号码查询。
⑧设置中心:
可以对是否开启防盗、是否开启程序锁服务等功能进行设置,还可以更改来去电显示的风格。
2.2.2项目框架简介
整体项目采用MVC框架进行设计和开发,MVC全名是ModelViewController,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑和数据显式分离的方法组织代码,将业务逻辑被聚集到一个部件里面,在界面和用户围绕数据的交互能被改进和个性化定制的同时而不需要重新编写业务逻辑。
MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。
MVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。
使用MVC应用程序被分成三个核心部件:
模型、视图、控制器。
它们各自处理自己的任务。
最典型的MVC就是JSP+Servlet+Javabean的模式。
2.2.3项目的目录空间结构
在创建了本次的设计的项目后,会在项目的根目录下发现一些文件和子目录,以下是对这些目录的简要说明:
AndroidManifest.xml:
是一个XML文件,用于描述将被构建的应用程序,以及应用程序中包含哪些组件(Activity、Service等等)。
build.xml:
是一个Ant脚本,用于编译应用程序和在设备上安装应用程序。
Default.properties和local.properties:
是属性文件,由Ant构建脚本使用。
assets/:
文件夹,用于存放需要打包到应用程序中的静态文件,以便部署到设备中。
bin/:
文件夹,用于存放编译后的应用程序。
gen/:
文件夹,Android构建工具存放它们生成的源代码的地方。
libs/:
文件夹,用于存放应用程序用到的第三方JAR包。
src/:
文件夹,用于存放应用程序的Java源代码。
res/:
文件夹,用于存放应用程序的资源(如图标、GUI布局等),将被打包到编译后Java中。
tests/:
文件夹,用于存放完全独立的Android项目,以便测试你所创建的项目。
2.2.4项目代码的组织结构
程序代码的组织结构大体上有两种:
第一种:
按照业务逻辑组织代码,这样业务与业务之间的关联度比较小。
第二种:
按照代码的类型组织包结构。
在这里,我们采用第二种代码的组织结构进行手机安全卫士的开发,其代码的组织方式如下:
com.itheima.mobilesafe.activities,这个包放我们开发程序的主界面;
com.itheima.mobilesafe.ui,这个包放我们开发程序的自定义控件;
com.itheima.mobilesafe.engine,我们程序开发的业务类放在这个包下;
com.itheima.mobilesafe.db,这个包放我们所使用的数据库类;
com.itheima.mobilesafe.db.dao,这个包实现我们对数据库的增删改查;
com.itheima.mobilesafe.utils,这个包下为我们公用的工具类;
com.itheima.mobilesafe.service,这个包下为我们后台长期运行的服务;
com.itheima.mobilesafe.receiver,这个包下是我们定义的广播接收者。
2.3本章小结
本章主要介绍了该项目开发的需求分析,以及开发此项目的的可行性分析,另外对项目要实现的功能模块、开发模式的简介和包的组织结构进行了详细的介绍。
这样,就显得我们开发的源代码的组织比较有章法,而不会那么的乱。
通过本章的介绍,使我对此项目有了进一步的了解,对项目的各个部分的功能有了深刻的认识。
对于不同的模块,所实现的功能也有了清晰的认识。
此外,具体各个模块的功能设计也进行了详细的介绍,只有熟悉了模块本身的需求和页面布局,才能更好地完成功能界面的设计。
总之,经过本章的介绍,为以后自己进行界面设计打下了坚实的基础,头脑中也有一个基本完整的构思和大体的布局,而不再
是不知所措的感觉了。
3相关技术简介
3.1Java技术综述
①Java技术简介
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE,JavaME,JavaSE)的总称。
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。
Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
Java是由四个方面组成的,包括Java编程语言、Java文件格式、Java虚拟机(JVM)、Java应用程序接口(JavaAPI)。
简言之:
Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。
②Java技术的特点
Java编程语言的风格十分接近C语言、C++语言。
Java是一个纯粹的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心。
Java舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operatoroverloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。
在Java1.5版本中,Java又引入了泛型编程(GenericProgramming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
Java不同于一般的编译执行计算机语言和解释执行计算机语言。
它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。
从而实现了“一次编译、到处执行”的跨平台特性。
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了Java程序的性能。
3.2Android技术
1)Android技术的简介
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
Android是第一个内置支持Java的操作系统,Android应用程序使用Java语言编写。
Android开发水平的高低很大程度上取决于Java语言核心能力是否扎实。
另外一方面,3G应用往往会和企业级应用相互结合。
配合真实的企业级项目,不但可以深入掌握基于Android平台的智能手机开发技术,更重要的是还系统掌握了智能移动终端与JavaEE服务器端相结合的诸多领域商业的应用。
项目开发环境为ADT(AndroidDevelopmentTools),是一个定制版的Eclipse,专门用于开发Android项目,里面集成了AndroidVirtualDevices,对于Java基础较扎实的人很容易上手。
2)Android的四大组件
Android开发四大组件分别是:
活动(Activity):
用于表现功能。
服务(Service):
后台运行服务,不提供界面呈现。
广播接收器(BroadcastReceiver):
用于接收广播。
内容提供商(ContentProvider):
支持在多个应用中存储和读取数据,相当于数据库。
①活动(Activity):
Android中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity可以算是开发者遇到的最频繁,也是Android当中最基本的模块之一。
一般一个Android应用是由多个Activity组成的。
这多个Activity之间可以进行相互跳转。
②服务(Service):
Service是android系统中的一种组件,它跟Activity的级别差不多,但是他不能自己运行,只能后台运行,并且可以和其他组件进行交互。
Service是没有界面的长生命周期的代码。
③广播接收者:
在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。
而BroadcastReceiver是对发送出来的Broadcast进行过滤接受并响应的一类组件。
可以使用BroadcastReceiver来让应用对一个外部的事件做出响应。
④内容提供者:
ContentProvider是Android提供的第三方应用数据的访问方案。
3)Android平台的优势与劣势
Android平台有五大优势特色。
①开放性
在优势方面,Android平台首先就是其开放性,开发的平台允许任何移动终端厂商加入到Android联盟中来。
显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。
开放性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。
开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。
②挣脱运营商的束缚
在过去很长的一段时间,特别是在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。
自从iPhone上市,用户可以更加方便地连接网络,运营商的制约减少。
随着EDGE、HSDPA这些2G至3G移动网络的逐步过渡和提升,手机随意接入网络已不是运营商口中的笑谈。
③丰富的硬件选择
这一点还是与Android平台的开放性相关,由于Android的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。
功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容。
④不受任何限制的开发商
Android平台提供给第三方开发商一个十分宽泛、自由的环境。
因此不会受到各种条条框框的阻挠,可想而知,会有多少新颖别致的软件会诞生。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 平台 手机 安全卫士 设计 实现 毕业设计