安卓程序开发毕业设计课案.docx
《安卓程序开发毕业设计课案.docx》由会员分享,可在线阅读,更多相关《安卓程序开发毕业设计课案.docx(44页珍藏版)》请在冰豆网上搜索。
![安卓程序开发毕业设计课案.docx](https://file1.bdocx.com/fileroot1/2022-12/1/772a9e76-06f9-46fb-bb22-18c11a2b7e33/772a9e76-06f9-46fb-bb22-18c11a2b7e331.gif)
安卓程序开发毕业设计课案
毕业设计说明书
基于Andriod系统手机私人数据
保护软件控制平台
XXX
学生姓名:
学号:
XXXX
XXXXX
学院:
专业:
XXXXX
指导教师:
2016年6月
基于Andriod系统手机私人数据保护软件控制平台
摘要
随着信息时代的到来,人们在享受其带来的极大便利和利益的同时,也面临着信息安全的严峻考验,特别是在三年前的“棱镜门”事件曝光以来,公众对信息安全的重视提到了前所未有的高度,人们对保护自己私人数据的意愿也十分迫切。
另一方面,随着传统互联网的进一步普及和新兴移动互联网的繁荣,人们各类社交账号、银行账号等信息也越来越多。
记忆和管理数量庞大的账号密码便成了人们的巨大负担。
因此设计和开发一款安全、高效的软件来帮助用户管理各种账户和密码变得十分迫切和必要。
本文主要介绍上述软件的设计开发过程和相关的开发知识。
本系统是一款专注于私人数据保护的Android应用程序它作为安全类软件,有强大的数据安全保障机制。
系统采用了AES加密算法作为程序数据加密算法,AES算法具有更高安全性、效率和灵活性,能够抵御已知的所有攻击方式。
同时系统还具有登陆密码验证、数据加密秘钥验证、用户数据跨设备不可使用、非安全状态销毁数据、程序后台驻留控制等多种措施以保障用户数据安全。
本系统在Windows系统环境下,使用SDK4.4、SQLite、Eclipse进行开发而来。
系统多维的安全保障机制和简单易用的UI设计可以帮助用户安全、快捷、高效地管理私人账户及密码,让用户用得舒心的同时还能让用户用得放心。
关键字:
Android,信息安全,数据保护,AES
Basedontheandroidmobilephonepersonaldata
protectionsoftwarecontrolplatform
Abstract
Withtheadventoftheinformationage,peopleareenjoyingthegreatconvenienceandbenefitsbroughtbyinformationresourcesandalsofacingaseveretestofinformationsecurityinthecominginformationage.Especiallytheexposureof"Prism"incidentthreeyearsagoraisingthepublicattentiontoinformationtoanunprecedentedheight.Peoplearebecomingmoreurgenttoprotecttheirprivates.Ontheotherhand,alongwiththefurtherspreadingoftraditionalInternetandprosperityofemergingmobileInternet,people’sallkindsofsocialaccountsandbankaccountsinformationarealsoincreasing.Memoryandmanagementofalargenumberoftheaccountpasswordhavebecomeahugeburdenonthepeople.Therefore,thedesignofasecureandefficientsoftwaretohelpusersmanagevariousaccountsandpasswordshasbecomeaveryurgentdesire.
Thispapermainlydescribesthedesignanddevelopmentprocessoftheabovesoftwareandrelateddevelopmentknowledge.ThissystemisanAndroidapplicationwhichfocusontheprotectionofpersonaldata.Asasecuritysoftware,therearemanystrongdatasecuritymechanisms.ThesystemusestheAESencryptionalgorithm,aalgorithmwithhighersecurity,efficiencyandflexibilitywhichcanithstandallknownattacks.Andithasmultiplesecuritymeasurestoprotectuserdata,aloginpasswordauthentication,dataencryptionsecretkeyauthentication,userdatacannotbeusedacrossdevices,anon-securestatedestroydata,programdaemoncontrol,etc.ThesystemdevelopfromSDK4.4,SQLite,EclipseunderWindowsenvironment.MultidimensionalsecuritymechanismandeasyusedUIdesigncanhelpusersmanagingprivateaccountsandpasswordsmoresecure,fastandefficient.Allowinguserstosimultaneouslygettheconvenienceandsafety.
Keywords:
Android,informationsecurity,dataprotection,AES
1引言…………………………………………………………………………………1
1.1开发背景…………………………………………………………………………1
1.2研究内容及意义…………………………………………………………………1
2系统分析……………………………………………………………………………1
2.1研究目标…………………………………………………………………………1
2.2需求分析…………………………………………………………………………2
2.3性能分析…………………………………………………………………………2
3系统开发及相关技术………………………………………………………………2
3.1Android开发环境介绍……………………………………………………………2
3.1.1Android是什么……………………………………………………………………2
3.1.2Android系统架构…………………………………………………………………2
3.1.3已发布的Android版本…………………………………………………………3
3.2Android开发平台搭建……………………………………………………………4
3.2.1准备所需的软件…………………………………………………………………4
3.2.2开发环境搭建…………………………………………………………………4
4主要功能模块设计…………………………………………………………………8
4.1安全策略…………………………………………………………………………8
4.2引导………………………………………………………………………………9
4.3软件登陆密码设置及修改………………………………………………………10
4.4数据加密密钥设置及修改………………………………………………………11
4.5项目信息添加、显示、删除及修改………………………………………………13
4.6用户数据备份及导入……………………………………………………………15
4.7非安全情况下销毁数据…………………………………………………………16
4.8数据跨设备不可用………………………………………………………………17
5数据库设计………………………………………………………………………18
5.1账号密码表………………………………………………………………………18
5.2登陆密码表………………………………………………………………………18
6程序实现……………………………………………………………………………18
6.1程序工程目录……………………………………………………………………18
6.2引导………………………………………………………………………………20
6.2.1主程序引导……………………………………………………………………20
6.2.2首次使用引导…………………………………………………………………21
6.3密码、秘钥验证…………………………………………………………………22
6.4程序主界面……………………………………………………………………25
6.5项目信息添加、显示、删除及修改……………………………………………25
6.6用户数据备份及导入…………………………………………………………28
6.7登陆密码修改…………………………………………………………………32
6.8加密秘钥修改…………………………………………………………………33
6.9程序后台驻留…………………………………………………………………35
7总结………………………………………………………………………………36
附录……………………………………………………………………………………34
参考文献………………………………………………………………………………37
致谢……………………………………………………………………………………38
1引言
1.1开发背景
随着智能设备的快速普及,特别是智能手机和平板设备,移动互联时代逐渐呈现在我们的面前。
在信息时代,人们在享受信息资源所带来的极大便利的同时,也面临着信息安全的严峻考验。
尤其是三年前的“棱镜门”事件曝光以来,公众对信息安全的重视提到了前所未有的高度,人们对保护自己私人数据的意愿也变得十分迫切。
另一方面,伴随着传统互联网的进一步普及和新兴移动互联网的繁荣,人们各类社交账号、银行账号等信息也越来越多。
出于信息安全的考虑,管理和保存这些账号和密码又不能简单地记录在纸上,单凭大脑去记忆数量如此庞大的信息更是一件不可能完成的事。
在这样的双重时代背景之下,设计开发一款私人数据保护软件就显得十分有必要,为保证用户使用的便捷性我选择以移动端设备作为使用平台。
当前主流的移动智能设备平台有Android、IOS以及WindowsPhone,但是考虑到用户群的数量和设备的可获得性,最终的选择了Android平台。
1.2研究内容及意义
本软件是在Andriod系统上进行的设计和开发,提供如下功能:
初次使用引导、软件登陆密码设置、软件登陆密码修改、数据加密密钥设置、数据加密密钥修改、账户密码信息添加、账号信息显示、账号信息修改、用户数据备份、用户数据导入及非安全情况下销毁数据等功能。
基于Andriod系统手机私人数据保护软件控制平台的开发可以帮助用户安全、快捷、高效地管理用户的私人账户和密码。
简单易用的UI设计可以节约用户对其的管理成本。
同时多维的安全保障机制保证了用户信息的安全。
2系统分析
2.1研究目标
(1)了解在Android平台上进行应用程序开发的过程;
(2)运用Android应用开发技术进行私人数据保护软件控制平台软件的开发。
本软件是使用Eclipse作为IDE(IntegratedDevelopmentEnvironment)开发工具,并
运用AES(AdvancedEncryptionStandard)标准作为加密算法,为用户数据安全保驾护航。
2.2需求分析
本软件是一个专注于私人数据保护的应用程序,对用户的私人数据进行管理和保护以降低用户管理私人数据的成本,因此应用应该简单易用、拥有人性化设计的UI,以及最为核心的安全保障机制。
从上面的描述中可以基本了解软件的功能需求:
1.有强大的数据安全保障机制;
2.用户使用引导;
3.数据加密密钥设置及修改;
4.软件登陆密码设置及修改;
5.项目信息添加、显示、删除及修改;
6.用户数据备份及导入;
7.非安全情况下销毁数据;
8.数据跨设备不可用等;
9.后台驻留机制。
2.3性能分析
数据保障机制安全合理、程序响应迅速、信息处理速度快、UI设计人性化、程序健壮等。
3系统开发及相关技术
3.1Android系统简介
3.1.1Android是什么
Android(安卓)是美国著名科技公司Google在2007年11月5日公布的基于Linux内核的操作系统,是一个移动设备,智能手机和平板电脑的操作系统。
它是由Google领衔的手机联盟开发,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
3.1.2Android系统架构
为了更好的理解Android系统是如何工作的,我们下面看一下它内部的系统架构。
Android大体可分为四层框架,五块区域。
[2]
(1)Linux内核层
Android系统基于Linux2.6的内核,该层为Android设备的硬件提供了最底层的驱动支持,例如电池管理、音频驱动、显示驱动、蓝牙驱动、WiFi驱动等等。
(2)系统运行库层
Android系统包含了一些C/C++库,这些库提供给Android系统中不同的组件使用。
它们通过 Android 应用程序框架为开发者提供服务。
例如SQLite库提供了数据库的支持,SGL库提供底层的2D图形引擎的支持,OpenGL|ES库对3D绘图提供支持等 。
(3)应用系统层
这一层提供了构建应用程序时可能用到的各种API(ApplicationProgrammingInterface),Android系统自带的许多核心应用就是使用这些API完成的,当然Android程序开发者们也能使用这些API来开发自己的应用程序。
(4)应用层
全部安装在Android设备上的应用程序都是属于这一层的,比如系统自带的通讯录、浏览器、相机等程序,以及用户自己从各类应用商店下载安装的社交软件、各种游戏软件,甚至是你自己开发的应用程序。
图3.1Android系统架构
3.1.3Android已发布的版本
2008年9月,Google正式发布了Android1.0系统,这是Android系统最早的版本。
在这之后的几年间,Google不断的推出新的版本,Android2.1、Android2.2、Android2.3系统的推出使得Android占据了大量的市场份额[3]。
在2013年2月,Google发布了Android3.0系统,这是特别为平板电脑设计的Android系统,但是市场反应并不好,是Google发布的众多Android系统中为数不多的失败的版本。
之后不久,也就是同年10月,Google又发布了全新的重量级版本Android4.0系统,该版本统一了手机和平板电脑,不再对其进行细分,即应用能在手机上使用,也能在平板电脑上使用。
2014年10月15日的GoogleI/O大会发布了新一代的Android5.0系统,这个版本的使用新的编译模式——ART模式,替代了老旧卡顿的Dalvik,使得这个版本的Android系统成为了Android史上最为流畅的系统,为用户体验带来了极大提升。
2015年5月28日的GoogleI/O大会发布了Android6.0系统,这个版本的系统在电量管理、指纹识别、权限管理、APP关联方面提供了全新的支持。
2016年5月19日的GoogleI/O大会发布了Android7.0系统,这也是目前为止最新的Android系统版本。
3.2Android开发平台搭建
Android应用开发可使用Google推出的开发工具AndroidStudio,也可以使用IDE工具Eclipse进行发开,这里所要使用的就是Eclipse的方式。
3.2.1准备所需的软件
(1)JDK
JDK(JavaDevelopmentKit)是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的Java应用程序。
JDK是整个Java开发的核心,它包含了Java的运行环境,Java工具和Java基础的类库[7]。
我们知道Android系统是使用Java语言来进行开发的,因此Java程序开发时所必需的JDK在Android开发中同样也必不可少。
(2)AndroidSDK
AndroidSDK(AndroidSoftwareDevelopmentKit)是Google提供的Android开发工具包,在开发Android程序的时候,我们需要引入该工具包,来使用Android开发相关的API。
(3)Eclipse
相信所有熟悉Java开发的开发者对这个工具一定都非常熟悉,它是Java开发的利器,是最好用的IDE工具之一。
因为这个工具是开源的,所以使得有很多优秀的基于Eclipse制作的IDE工具得以问世。
Eclipse支持非常多的插件工具,使得它不仅仅用于Java程序的开发,几乎所有主流的开发语言都能得到良好的支持[8],这其中当然也包括Android开发。
(4)ADT
ADT(AndroidDevelopmentTools)是Google提供的一个Eclipse插件,提供了一个高度集成发、强大的Android开发环境。
安装了ADT就可以进行联机调试,并且能够模拟各类手机事件、分析程序性能等等。
3.2.2搭建开发环境
Google提供了一种很便捷的方式,在Android官网下载到一个已经绑定好SDK的工具包,开发时所需要用到的AndroidSDK、Eclipse、ADT插件都已经包含在里面了,这样可以省去很多费时的安装操作。
图3.2SDK工具包目录
其中SDKManager是AndroidSDK的管理器,双击打开它可以看到所有可下载的AndroidSDK版本。
因为Android版本已经很多了,都下载的话会很耗时,同时对硬盘空间的需求也很大。
并且我们开发的程序主要面向Android4.0以后的系统,因此这里只勾选API14以上的SDK版本,如图3.3所示。
图3.3SDKManager
勾选完后点击右下角的Install42packages,会进入到一个确认安装界面,如图3.4所示。
图3.4选择SDK进行安装
选中右下角的AcceptLicense,然后点击Install,只需要等待下载结束,这一个过程可能会持续很长的时间,请耐心等待。
经过漫长的等待之后,SDK终于是下载完成了。
下载好的所有内容都放在了sdk目录下,里面还包含开发包、文档、示例、源码和其他一些东西。
先看一下eclipse这个目录。
进入eclipse目录,因为eclipse是免安装的,因此直接点击eclipse.exe来启动Eclipse程序。
这个Eclipse是安装好ADT插件的,因此已经可以直接在这个Eclipse上进行Android程序开发!
界面和普通的Eclipse没多大区别,不过安装过ADT插件的Eclipse还是会多出一些东西来,比如在Eclipse的工具栏中会出现AndroidSDKManager和AndroidVirtualDeviceManager的图标。
AndroidSDKManager之前已经介绍过了,下面介绍一下AndroidVirtualDeviceManager,这个是用来开启Android模拟器的,在开发的时候如果没有Android手机的话,就必须使用模拟器了。
当然建议调试程序的时候使用手机来进行,因为Android,模拟器会很卡很慢。
点击AndroidVirtualDeviceManager,也就是中间的图标会弹出如图3.5所示的窗口。
图3.5AndroidVirtualDeviceManager
点击右边的“New...”按钮可以创建一个新的Android模拟器,如图3.6所示。
图3.6添加新的Android模拟器
这里我们创建一个Android4.4系统的模拟器,因此模拟器名就叫4.4好了,设备选择5.0英寸屏幕的手机,目标指定为Android4.4,然后分配一下手机内存和SD卡的大小,点击OK就可以了。
等待创建完成后,选中刚刚创建的模拟器,点击Start按钮,在弹出窗口中点击Launch,就可以启动模拟器了,启动完成之后的界面如图3.7所示。
至此,Android开发环境就已经成功搭建完成了。
图3.7运行Android模拟器
4主要功能模块设计
4.1程序安全策略设计
作为信息安全类应用,优先考虑数安全问题,解决安全问题再考虑相应的功能实现;应用不安全,其他的功能再强大也没有用。
因此必须有强大的安全机制作为保障,首先要做的就是选取一种合适的加密算法。
通过查询相关资料,对各种加密方式加密算法诸如:
DES、IDEA、RC2、RC5、AES等进行分析、对比后,最终选择最为合适的加密算法AES作为本应用的数据安全基础。
同时应用设置登陆密码验证、数据加密秘钥设置、用户数据跨设备不可使用、非安全状态销毁数据、程序后台驻留控制等等措施来保障用户数据安全。
程序数据安全机制如图4.1所示。
图4.1数据安全策略
4.2引导
在启动程序后,系统将自动检测用户是否第一次使用本软件。
在用户首次登陆的时候,引导用户进行秘钥和密码设置,同时给出友好的提示。
程序具备方便快捷的操作体验。
登陆引导流程如图4.2所示,效果如图4.3所示。
图4.2登陆引导流程
图4.3首次登陆引导效果
4.3软件登陆密码设置及修改
考虑到实际使用的需求,软件提供密码设置和修改的功能,登陆密码设置流程如图4.4所示、登陆密码修改流程如图4.5所示、效果如图4.6所示。
图4.4登陆密码设置流程
图4.5登陆密码修改流程
图4.6密码设置及修改
4.4数据加密密钥设置及修改
软件提供加密秘钥的设置和修改的功能,加密秘钥设置流程如图4.7所示、秘钥修改流程如图4.8所示、效果如图4.9所示。
图4.7秘钥设置流程
图4.8秘钥修改流程
图4.9加密密钥设置及修改
4.5项目信息添加、显示、删除及修改
添加:
软件提项目信息添加功能,将添加的数据使用AES加密处理后存入数据库中,进行数据持久化处理。
其中可以添加项目描述、账号、密码、以及备注等信息。
图4.10项目信息添加流程
图4.11项目信息修改流程
图4.12项目信息添