基于安卓的安全卫士毕业设计论文.docx
《基于安卓的安全卫士毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于安卓的安全卫士毕业设计论文.docx(27页珍藏版)》请在冰豆网上搜索。
基于安卓的安全卫士毕业设计论文
摘要
在移动互联网飞速发展的今天,智能手机成了人们沟通交流、了解外部信息的重要工具。
从某种程度上说,智能手机相当于小型PC,其中有71.6%为Android手机用户。
Android平台的的开源性使得市场上各种手机智能软件日益增多并且混乱,有些非法软件不但威胁着手机的性能与安全性,也给防范意识薄弱的手机用户带来了时间和经济上的损失。
针对人们日常在使用手机的过程中存在的问题,整个项目基于Android开发平台,采用Java语言,遵循MVC设计模式,使用SQLite这种嵌入式数据库,基本完成了这款功能强大、实际可行的手机安全卫士软件。
该软件主要实现了以下功能:
手机防盗、通讯卫士、软件管理、进程管理、流量统计、手机杀毒、系统优化、高级工具以及设置中心等九大功能模块。
通过反复不断的调试及测试,该手机安全卫士软件基本实现了用户所需的功能,具有很强的使用性。
关键词:
手机安全卫士;Android;MVC设计模式
Abstract
WiththerapiddevelopmentofmobileInternettoday,intelligentmobilephonehasbecomeanimportanttoolforpeopletocommunicate,understandtheoutsideinformation.Saidfromsomekindofdegree,intelligentmobilephoneisequivalenttoasmallPC,whichhas71.6%Androidmobilephoneusers.TheopensourceAndroidplatformmakesthemarketonavarietyofmobilephonesoftwareisincreasingandconfusion,someillegalsoftwarenotonlythreatentheperformanceandsecurityofmobilephone,butalsotopreventweakconsciousnessofmobilephoneusersintimeandeconomicloss.
Accordingtopeople'sdailyintheuseofmobilephoneintheexistingproblems,thewholeprojectisbasedontheAndroiddevelopmentplatform,usingJavalanguage,followtheMVCdesignpattern,theuseofSQLiteembeddeddatabase,basicallycompletedthispowerful,practicalmobilephonesecurityguardssoftware.Thesoftwareismainlytoachievethefollowingfunctions:
Ninefeaturephone,communication,securityguardssoftwaremanagement,processmanagement,trafficstatistics,mobilephoneanti-virus,systemoptimization,advancedtoolsandsetthecentermodule.Throughdebuggingandtest,themobilephonesecurityguardssoftware,thebasicrealizationofthedesiredfunction,hastheverystrong.
Keywords:
MobilePhoneSecurityGuards;Android;MVCdesignpattern
第一章引言
1.1软件开发背景
智能手机成为现代人们生活和工作的必须品,它的普及促进了基于Android的手机软件的快速发展。
目前市场上各类智能软件繁多并且混乱,网络安全日益严峻,其中有些不法开发商利用Android平台的开放性窃取用户隐私、偷跑手机流量、恶意扣取用户话费等。
这些软件给手机用户带来了各种安全隐患,损害用户的合法利益,造成了不可估量的损失,因此实现一个操作简便、安全可靠、功能强大的手机安全卫士是十分必要的。
利用安全卫士来管理手机软件,可以保护用户隐私、查杀扣费软件、高效拦截骚扰电话和垃圾短信、清理缓存,同时友好的图形用户界面,简便的操作,具有极强的实用性,是手机的必备软件。
1.2软件开发意义
随着Android手机的硬件配置越来越强大,用户安装的软件也越来越多,手机安全卫士可以让用户直观的看到手机中的所有软件,并对这些软件进行卸载、运行、分享。
一旦手机丢失,SIM卡变更,能够实现远程定位、报警、锁屏、销毁数据等操作。
对于日渐增多的骚扰电话和垃圾短信进行拦截,对重要短信进行备份和还原。
查杀手机中木马、蠕虫、宏病毒,防止用户隐私泄露。
关闭后台不用的进程,清理缓存,提高手机性能,优化管理。
总之,手机安全卫士软件可以帮助用户对手机中的各类系统软件和应用软件进行详尽、全面的控制和管理,其中手机防盗、手机杀毒、软件管理、进程管理、通讯卫士是手机安全卫士的核心和基础。
实现这些核心功能可以极大地提高手机的安全性,保护用户的隐私。
高级工具和设置中心可以按照用户的意愿进行选择,满足不同用户的多样化需求,方便日常生活,备受用户的青睐。
1.3论文组织结构
本文共分六章,各章的具体内容安排如下:
第一章:
主要介绍了手机安全卫士软件的开发背景、开发意义及论文组织结构。
第二章:
主要介绍了关于手机安全卫士软件的一些分析,其中包括系统需求分析、系统可行性分析、系统功能性分析。
第三章:
主要介绍了手机安全卫士软件在开发过程中所用到的关键技术,其中包括开发工具、开发环境、开发语言、数据库技术等。
第四章:
主要介绍了手机安全卫士软件的概要设计,包括系统各个功能模块的设计以及数据库表的设计。
第五章:
具体介绍了手机安全卫士软件各个模块的详细实现。
第六章:
主要对手机安全卫士软件进行了的详细而全面的测试,其中包括测试说明、测试用例、测试结果。
第二章系统分析
2.1系统需求分析
软件需在2.2版本以上的Android系统终端上皆可运行,用户群体庞大,但要满足用户的需求:
1.简单易学:
时间对于谁都是非常宝贵的,用户不会太愿意花大量时间去学习一款软件的操作。
一款软件如果没有友好的操作界面,让用户难以上手使用,那就说明这款软件设计得不够成功,进而失去大量的用户。
所以本项目需要拥有良好的交互界面,让用户安装之后可以进行方便地设置。
2.运行稳定:
一款软件加入设计得不够好,那么很有可能在运行的时候出现一些无可预料的错误从而导致软件崩溃。
如果在软件的使用的过程中遇到了软件崩溃事件,用户会感到反感,从而放弃该软件,这样就会使用户流失,造成不良的影响.
3.操作简便:
用户不是程序员,他们不需要知道程序的内部逻辑。
这就要求程序员必须提供给用户方便的操作接口来供用户操作,软件的操作性直接决定了一款软件的好坏。
软件是做给用户使用的,所以一切都要以用户的眼光来看问题。
2.2系统可行性分析
2.2.1技术可行性分析
依靠基于Android系统的开发技术,用的是以Java为主的开发语言进行开发。
用Eclipse开发Android程序,以Android相关技术开发出具有良好用户界面,操作简单,功能齐全,运行稳定的手机安全卫士软件。
综上所述,手机安全卫士软件在技术方面是完全可行的。
2.2.2经济可行性分析
该软件是一款手机软件,较之电脑软件能够更加方便得随时随地获取信息,不受地理和时间的约束,因此市场开发空间较大,且开发成本低廉,适合开发并推广使用。
2.2.2操作可行性分析
软件采用主流Android软件应用开发风格,界面友好,使用Android的原生组进行开发,整体项目使用MVC框架进行设计和实现,用户可根据步骤操作,简单易懂。
2.3系统功能性分析
整体项目综合运用Android知识点,以MVC框架构建项目,本项目所实现的功能模块主要包含以下几个:
1.手机防盗模块:
SIM卡变更报警、GPS追踪、远程销毁数据、远程锁闭手机四个子模块。
2.通信卫士模块:
黑名单管理、电话拦截、短信拦截三个子模块。
3.软件管理模块:
显示所有软件、卸载软件、启动软件、分享软件四个子模块。
4.进程管理模块:
显示所有正在运行的进程和剩余内存、一键清理两个子模块。
5.流量统计模块:
显示软件消耗的流量。
6.手机杀毒模块:
检测病毒、清除病毒两个子模块。
7.系统优化模块:
缓存清理、SD卡清理两个子模块。
8.高级工具模块:
手机号码归属地查询、常用号码查询、备份短信、还原短信、程序锁五个子模块。
9.设置中心模块:
自动更新设置、来电归属地显示设置、黑名单拦截设置、程序锁设置、归属地提示框风格、归属地提示框位置六个子模块。
2.4本章小结
本章详细探究了手机卫士的需求分析和可行性分析,完成了系统的内容设计、用户需求和功能要求等方面的内容。
这样,就使得我们开发的源代码的组织比较有规则,而不会太乱。
通过本章的介绍,使我对此系统有了进一步的把握,对项目的各个部分功能有了更深刻的认识。
对于不同的模块,所实现的功能也有了清晰的认识。
另外,详细的介绍各个模块的功能设计,熟悉了模块本身的需求以及页面布局.为实现功能界面的设计打下基础。
经过本章的实现,我心中有了一个基本完整的构思和整体的布局,对软件的设计与实现充满了信心。
第三章系统关键技术
3.1系统开发技术
3.1.1Eclipse简介
Eclipse 是一个开放源代码的、基于Java的可以扩展的开发工具。
就它本身而言,它仅是一个框架和一组服务,用于使用插件组件构建开发环境。
根据这点,Eclipse设计者给它添加了一个插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。
Eclipse是一个专注于为高度集成的工具开发提供了一个全功能的且具有高商业品质的工业平台。
Eclipse项目、Eclipse技术项目和Eclipse工具项目是Eclipse的核心,具体可以分成四个部分——pde、JDT、CDT和EclipsePlatform,分别用于Java开发、C开发、插件开发,EclipsePlatform则是一个通用的开发平台,是一个开放的可扩展IDE,它提供建造块和构造并运行集成软件开发工具的基础。
Eclipse自身与其他开发人员设计的插件可以融为一体,需要什么功能则融合什么样的插件。
3.1.2JDK开发环境简介
JavaDevelopmentKit(JDK)是太阳微系统给Java开发人员发布的免费的软件开发工具包(SDK,Softwaredevelopmentkit),JDK是使用最多的JavaSDK。
由于JDK的一部分特性采取商业许可证,并非开源。
所以,2007年太阳微系统发布基于GPL协议的开源JDK,使JDK走向自由。
在这之前,Sun公司去除了少量闭源的特点,使其成为一款开源软件。
对普通用户来讲,安装JRE(JavaRuntimeEnvironment)即可运行软件.。
而程序开发者必须安装JDK来调试、编译程序。
JDK中还包括了完整的JRE,privateruntime,即Java的运行环境。
包含开发人员使用的补充库以及IDL库、基础类库等多种适用类库。
JDK是整个Java的核心,包含JRE、基础库以及各种工具。
无论什么Java应用服务器的实质都是内置了某个版本的JDK。
所以掌握JDK是学好Java的第一步。
最主流的JDK是Sun公司发布的JDK,除了Sun之外,IBM公司也开发的JDK,BEA公司的Jrocket,还有GNU组织都有属于自己的JDK。
其中IBM开发的JDK包含的JVM(JavaVirtualMachine)运行的效率要比SunJDK包含的JVM高出很多。
而只运行在x86平台的Jrocket在服务端的运行效率也要比SunJDK好了很多。
但不管怎么说,我们还是必须先把SunJDK掌握好。
3.1.3Android简介
Android系统是工作在智能手机上的操作系统,处处都体现了与手机相关的特性。
因为手机硬件配置的关系,Android操作系统与电脑上的操作系统有很大的差异。
唯有充分的了解Android系统特点才可以开发出适合手机运用的软件。
以下为AndroidSDK2.2的主要特性:
1.重用且可替换组件的程序应用框架;
2.针对移动设备优化了的的Dalvik虚拟机;
3.集成了基于开源Webkit的引擎的网页浏览器;
4.经过优化了的自定义2D图形库与基于OpenGLES1.0库可选择硬件加速;
5.SQLite结构化的数据存储数据库;
6.支持常规的视频音频多媒体格式,如MP4、H.264、AAC、MP3、AMR、JPGPNG、GIFGSM电话(硬件决定);
7.蓝牙、GPRS-EDGE、3G和Wifi无线网络;
8.手机导航、GPS全球定位、感应加速器。
3.1.4SQLite简介
SQLite是一款遵守ACID关系的轻型的数据库管理系统,可以在Linux、Windows、Unix等主流操作系统上运行。
占用内存小,常嵌入系统中使用,很适合做安卓软件的数据库。
它能够跟多种程序语言(C#、PHP、Java等)相结合,还带有ODBC接口.比PostgreSQL、MySQL这两款数据库速度更快。
SQLite的操作简单,能够使用多种语言直接的创建数据库。
但它的缺点在于处理并发(包括多线程和多进程)读写,支持的SQL标准也不严格。
由于SQLite使用了SQL界面,对于有使用其他SQL数据库的经验用户而言,它的使用非常简单明了。
但是,它的本机API并不是JDBC,因为JDBC对于手机等内存有限的设备来讲开销过大。
所以对于此项目,SQLite是较为适合的数据库。
3.2系统开发环境
系统的开发环境如表3.1所示。
表3.1系统开发环境列表
开发环境
内容
软件要求
Windows7操作系统
硬件要求
512MB内存,30GB硬盘
开发平台
AndroidDevelopmentTools
数据库
SQLite
开发语言
Java语言
3.3本章小结
本章主要对开发此项目所需要的开发工具、平台以及数据库做了简单的介绍。
此外,详细的介绍了Android的特征,介绍了所需数据库。
通过此章节,我了解到了开发一个Android下项目所必须的环境和平台,以及所需数据库和工具,这些都需要不断练习熟练掌握才能开发出满足用户需求的应用程序。
加深了我对项目开发的理解,代码编写是一部分,整个流程的开发控制更是要把握住。
第四章系统总体设计
4.1系统目标
需求分析是软件生命周期中的第一步,要根据用户的需求明定该系统要实现什么样的功能,怎样划分模块等。
在手机安全卫士软件中,手机防盗、手机杀毒、软件管理、进程管理、通讯卫士是整个软件的核心模块。
此外,设计手机安全卫士软件还应具有以下目标:
1.灵活美观的人机交互界面。
2.操作简便,简单易学。
3.系统运行稳定,安全可靠。
4.2系统设计原则
手机安全卫士管理手机中所有的软件,必须安全可靠,操作简便,功能强大。
模块化设计降低了模块之间的耦合性,使得系统便于修改,提高了软件的设计效率。
各个模块相对独立,每个模块负责不同功能,使系统更加清晰,便于使用。
4.3系统结构框架
该手机安全卫士软件的系统功能结构图如图4.1所示。
图4.1系统功能结构图
4.4系统功能模块设计
经过系统的分析,该软件总体上是有一个主界面和主界面上的一些模块组成,在主界面上包含手机防盗、通讯卫士、软件管理、进程管理、流量统计、手机杀毒、系统优化、高级工具以及设置中心等九个模块。
该软件可以对手机中的所有软件进行基本的管理,满足用户安全性和使用性的要求。
1.升级界面流程
当打开软件时会自动检测更新,流程图如图4.2所示:
图4.2升级界面流程图
2.手机防盗设置流程
手机防盗模块通过预设密码判断手机是否被盗,如果发生手机被盗事件,手机将自动通过自定义协议发送手机中SIM卡信息和手机的位置信息给安全号码。
手机防盗设置流程图如图4.3所示:
图4.3手机防盗设置流程图
3.远程指令控制流程
手机防盗的核心是通过建立Android下的super管理员功能,能远程通过短信指令,对手机设置锁屏密码,远程锁定手机屏幕,远程格式化手机内存卡,恢复出厂设置,而且用户也不能卸载软件,能极大的保护用户的隐私安全。
如发生手机被盗事件,super管理员通过安全手机发送预设指令控制被绑定的手机,从而锁定手机或者销毁数据。
短信指令控制
流程图如图4.4所示:
图4.4远程指令控制流程图
4.手机杀毒流程
手机杀毒的实现需要先用PackageManager遍历手机上的所有程序,将扫描到的包名以及数字签名鱼数据库中的病毒对比,发现相同的就视为病毒,弹出删除病毒的界面将其杀死,完成后,返回手机杀毒的界面。
手机杀毒流程图如图4.5所示:
图4.5手机杀毒流程图
4.5数据库设计
1.数据信息要求:
主要黑名单信息、号码归属地信息、常用号码信息、程序锁信息、手机病毒信息等数据信息。
2.数据信息处理要求:
系统主要完成黑名单信息、号码归属地信息、常用号码信息、程序锁信息、手机病毒信息等信息的添加、删除、修改、查看功能,系统中号码归属地信息和手机病毒信息使用频率比较高,因此在处理方式上要求效率比较高。
3.数据信息安全性与完整性要求:
程序锁信息属于重要信息,因此要求保证数据信息安全,数据信息不能外泄。
4.5.1实体E-R图
通过对系统需求分析抽象出黑名单、号码归属地、常用号码、程序锁、手机病毒等实体对象,相关实体对象属性图如图4.6-4.9所示。
图4.6黑名单实体属性图
图4.7号码归属地实体属性图
图4.8常用号码实体属性图
图4.9手机病毒实体属性图
4.5.2数据表设计
该系统采用SQLite数据库存储数据,把实体、实体属性及实体间的关系利用表显示。
具体如表4.1-4.5所示:
表4.1黑名单信息表(blacknumber)
列名
数据类型
是否允许空
约束条件
id
int
(2)
NOTNULL
PRIMARYKEY
phone
varchar(20)
NOTNULL
mode
varchar
(2)
NOTNULL
FOREIGNKEY
黑名单信息表中的字段:
id(用户编号)为主键;phone(电话号码);mode(拦截模式)。
表4.2号码归属地信息表(address_db)
列名
数据类型
是否允许空
约束条件
id
int
(2)
NOTNULL
PRIMARYKEY
city
varchar(20)
NOTNULL
cardtype
varchar(20)
NOTNULL
area
varchar(10)
NOTNULL
号码归属地信息表中的字段:
id为主键;city(所属城市);cardtype(号码类型);area(地区)。
表4.3常用号码信息表(commonnum)
列名
数据类型
是否允许空
约束条件
id
int
(2)
NOTNULL
PRIMARYKEY
number
varchar(20)
NOTNULL
name
varchar(20)
NOTNULL
常用号码信息表中的字段:
id(号码编号)为主键;number(电话);name(服务器名字)。
表4.4程序锁信息表(applock)
列名
数据类型
是否允许空
约束条件
id
int
(2)
NOTNULL
PRIMARYKEY
packname
varchar(20)
NOTNULL
UNIQUE
程序锁信息表中的字段:
id(编号)为主键;package(应用程序的包名)。
表4.5手机病毒信息表(antivirus)
列名
数据类型
是否允许空
约束条件
id
int
(2)
NOTNULL
PRIMARYKEY
md5
varchar(30)
NOTNULL
type
varchar
(2)
NOTNULL
name
varchar(30)
NOTNULL
desc
varchar(30)
NOTNULL
手机病毒信息表中的字段:
id(病毒编号)为主键;md5(应用程序签名);type(病毒类型);name(病毒名称);desc(描述)。
第五章系统详细设计与实现
5.1主界面设计
主界面为用户经常操作的界面,而且手机卫士的所有的功能都在主界面里展示,在这个界面用户可以清理手机缓存、设置手机防盗、管理手机的软件和进程等。
其设计过程是界面最上端放置的是一个TextView控件,文本为手机安全卫士,其下方放置是一个自定义的FocusedTextView类,让其继承TextView,重写isFocused的方法,returntrue,这样就骗过了系统,让系统误以为FocusedTextView获取到焦点,这样就能产生一个跑马灯的效果展现到界面上。
其下方的模块就是一个设置numColumns为3的GridView显示出来的,主界面展示如图5.1所示
图5.1主界面展示
5.2手机防盗模块
手机防盗也是手机卫士最为核心的功能模块,其主要是保护用户的隐私不被泄露,设置初试密码后可开启防盗功能。
手机丢失时,手机接收到SIM卡更换的信息会向事先设置的安全号码发送报警短信,用户通过远程发送设定的指令可遥控手机销毁数据,保护隐私。
1)设置密码与输入密码设计
开启手机防盗功能第一步,要先设置安全密码,这个对话框设计是定义一个竖直对齐的线性布局LinearLayout,上面定义一个文本内容为设置密码TextView控件,下方设置两个输入类型为textPassword的EditText,用来输入密码和重复密码,而在下方再放置一个水平对齐的线性布局,添加两个权重相同的Button按钮。
其显示效果如图5.2所示。
图5.2设置安全密码界面
完成密码设置后,再进入手机防盗功能时,会跳转进入到一个用户输入密码的界面,其页面布局和设置密码的页面布局一样,显示效果如图5.3所示。
图5.3输入密码界面
2)设置向导的详细设计设计
设置向导分四步完成设置手机的防盗功能,其具体的设计如下面四步所示。
①设置向导第一步的设计
这个界面的布局,界面的根节点是一个线性布局,对其方式为竖直方向,放置四个TextView控件,一个Button按钮。
其具体的显示效果如图5.4所示。
图5.4设置向导第一步界面
②设置向导第二步的设计
设置向导的第二步的UI布局大致与第一步相同,点击绑定sim卡Te