毕业设计论文范例.docx

上传人:b****3 文档编号:3461582 上传时间:2022-11-23 格式:DOCX 页数:53 大小:3.09MB
下载 相关 举报
毕业设计论文范例.docx_第1页
第1页 / 共53页
毕业设计论文范例.docx_第2页
第2页 / 共53页
毕业设计论文范例.docx_第3页
第3页 / 共53页
毕业设计论文范例.docx_第4页
第4页 / 共53页
毕业设计论文范例.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

毕业设计论文范例.docx

《毕业设计论文范例.docx》由会员分享,可在线阅读,更多相关《毕业设计论文范例.docx(53页珍藏版)》请在冰豆网上搜索。

毕业设计论文范例.docx

毕业设计论文范例

毕业设计(论文)

Android平台2048游戏开发

 

教学单位:

计算机学院

专业名称:

计算机科学与技术(嵌入式系统及应用)

学号:

2011031501058

学生姓名:

黄裕胜

指导教师:

宋喜佳(讲师)

指导单位:

计算机学院

完成时间:

2015年4月30日

 

电子科技大学中山学院教务处制发

Android手机防盗系统

【摘要】随着科技发展,移动终端越来越发达,人们不仅使用手机打电话发短信,而且可以实现手机购物,移动支付等功能方便人们日常的衣食住行,但是也因此给手机用户带来安全隐患,当手机不慎被盗或者丢失时,可能会造成信息泄露以及财产损失,手机防盗成了手机使用者需要考虑到问题之一。

本论文旨在详细说明如何开发一款Android手机防盗程序。

该程序基于Google公司提供的AndroidSDK(AndroidSoftwareDevelopmentKit)和XX地图API(ApplicationProgrammingInterface),使用EclipsePlatform开发平台以及ADT安卓开发工具(AndroidDeveloperTools),运行与装有Android4.1.2操作系统的手机上。

该程序主要分为耳机监测、SIM卡检测、短信远程控制三大功能:

耳机监测功能可以在任何时候,当时耳机被意外拔出时,手机便会立即响起警报通知用户,同时震慑盗贼;SIM卡检测功能是当手机SIM卡被更换后,开机时程序会监测当前的SIM卡是否在用户设置的白名单内,并且发送反馈短信到安全号码中;短信远程控制则是用户与可以通过文字短信息远程控制手机,实现响铃警报,远程位置反馈等功能。

本系统复杂的工作流程简单智能化,去除臃肿且不实用的功能,保留最实用的功能并且使用图形界面的方式与用户进行交互,使得用户可以更加方便地使用,易上手。

该系统的投入使用将有效提高Android手机的安全防护能力,增强用户在处理手机被盗等问题时的对应能力。

该程序通过模拟器和真机测试,所有功能均能达到了需求分析中的要求。

【关键词】防盗;Android;定位;远程

AndroidPhoneAnti-theftProgram

【Abstract】

【KeyWords】Anti-theft;Android;Location;SMSRemoteControl

图目录

表目录

第1章绪论

1.1课题背景

从1984年世界第一台手机摩托罗拉DynaTAC8000X的诞生到现在2015年,31年间快速发展,人们对手机的需求也不再是一台简单地可以打电话和发送短信息的传统手机,而是具有高速处理信息能力,能够及时响应用户各种商务,娱乐等各种需求,比如拍照上传,视频观看,移动支付等功能的智能手机。

Android是一种由开放源码的操作系统,由Linux系统演变而来,主要应用于智能手机等便携设备。

由于Android系统的开源性,使得手机厂商可以低成本地设计和生产智能手机,Android手机功能强大,高性价比,深受人们的喜爱,正式因为如此,在2014年,Android在全世界占据着81.5%的市场份额,成为使用人数做多,市场份额最大的智能手机系统。

Android凭借着巨大的影响力,为运营商和开发者提供了广阔的发挥空间,可以为用户开发各种应用程序,方便用户使用,实现用户各种需求。

人们不仅使用手机进行通讯,而且也用来娱乐、购物、移动支付、文档阅读编辑等,甚至是处理一些商务事务。

但是凡事都有两面性,在人们享受手机带来的方便之余,同时也伴随着因为手机丢失而引起信息泄露,财产损失等隐患。

当手机意外被盗或者丢失时,对于一部分人来说,手机里面的信息往往会高于手机本身的价值。

因此,有必要为Android手机用户开发一款能够防止手机被盗和及时找回手机的应用程序。

1.2国内外研究现状

1.2.1国内研究状况

手机防盗程序应该归属于安全类软件,对于安全软件的开发和研究是各类杀毒软件公司的首要考虑之一,所以在国内很多软件公司,包括其它综合型公司都有面向Android系统开发,功能齐全的安全类软件——手机卫士,而手机防盗正是在各类手机卫士中的一个功能点,例如金山手机卫士,腾讯手机管家等。

但是因为某些手机卫士功能过多,而且各大软件开发商往往为了推广自己的其它产品,往往会在程序上添加一些软件推广信息,诱导用户下载使用,从而使程序变得臃肿,影响手机性能。

图1.1手机安全卫士

1.2.2国外研究状况

提供Android系统开发支持的Google公司为Android系统手机提供了“Android设备管理器”服务。

用户可以在手机上注册登录Google帐号绑定手机,接着可以在Google提供的远程操作网页上控制手机,实现远程响铃、锁定、清空、定位等功能。

但是由于各种原因,这项功能并不支持在中国大陆上使用。

图1.2Android设备管理器

1.3课题研究内容和意义

1.3.1研究内容

本文以前人的相关研究工作作为背景和基础,再深入了解需求的基础上提出了总体目标,设计了系统框架,实现了各个相关模块分析,并结合Windows7操作系统和Eclipse编译环境以及ADT安卓开发插件为开发平台,基于Android4.1.2SDK开发库设计实现了一个建立在Android系统手机上的手机防盗系统。

课题的主要研究内容有:

(1)对手机用户界面理论进行分析总结,结合实际情况归纳出本程序的总体目标和使用功能,并设计出系统框架,然后从理论上加以论证可行性。

(2)分析研究手机防盗系统应包含的功能,并且考虑功能实现方式。

(3)探讨在现在生活环境中,系统中的功能的有效性,以及当功能失效时的各种应对方法。

(4)从应用实例上进行分析论证,得出有效的数据,以便有针对性的对系统进行调整,从而达到更好的效果。

1.3.2研究意义

为手机用户开发一款实用性强,安全可靠的手机防盗系统,使用户可以更加放心地使用手机,并且具有一定的研究价值和应用空间,对其它类似的开发工作起到一定的参考借鉴意义。

1.4论文结构

本论文主要从下面几章阐述对于Android手机防盗程序的研究与应用:

第1章:

绪论,介绍了课题的研究背景、国内外研究现状,课题研究目的和意义、以及本文的结构。

第2章:

相关开发技术与理论基础,介绍了课题采用的面向对象程序设计、Java语言,Android操作系统等相关技术。

第3章:

系统分析与设计,对Android平台手机防盗程序的需求分析和可行性分析。

总体介绍了程序的设计架构及所要实现的功能分析,并阐述了开发平台和环境的选择。

第4章:

系统详细设计与实现,介绍了程序各个模块的功能分析以及设计思路并其相关实现代码。

第5章:

系统应用实例和结果分析,介绍了应用平台,测试用例以及结果分析。

第6章:

总结与展望,总结本文工作成果,并对研究工作做反思和展望。

第2章相关技术和理论基础

2.1Java语言

Java语言的前身是SunMicrosystems公司开发的一种用于智能化家电的名为Oak(橡树)的语言,它的基础是当时最流行的C和C++语言(Sun公司于2009年4月被Oracle公司收购)。

但是,由于一些非技术上的原因,Oak语言并没有得到迅速的推广。

知道1993年,WWW(万维网)迅速发展,Sun公司发现可以利用Oak语言的技术来创造含有动态内容的WWW网页,于是已受人冷落了的Oak语言又被重新的开发和改造。

于是便将改造后的Oak语言改名为Java语言,Java是太平洋上的一个盛产咖啡的岛屿的名字。

终于,在1995年,Java这个被定位于网络应用的程序设计语言被正式推出。

图2.1JavaLogo

Java编程语言的风格十分接近C++语言。

集成了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指针,改以引用取代,同时移除原C++与原来运算符重载,也移除了多重继承特性,改用接口取代,增加垃圾回收器功能。

在JavaSE1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。

Sun公司对Java语言的解释是:

“Java编程语言是个简单、面向对象、分布、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。

Java语言问世的时间虽然不长,但却已被业界所接受,IBM、Apple、DEC、Adobe、HP等大公司都已经购买了Java语言的许可证。

2001年,当时的移动电话吧主NOKIA宣布,到2003年将出售1亿部支持Java的手机。

2.2Android操作系统

2.2.1简介

Android,中文俗称安卓,是一个以Linux为基础的开放源代码移动设备操作系统,主要用于智能手机和平板电脑,由Google成立的OpenHandsetAlliance(OHA,开放手持设备联盟)持续领导与开发中。

Android已发布的最新版本为Android5.1(Lollipop)。

图2.2AndroidLogo

Android系统最初由安迪·鲁宾(AndyRubin)等人开发制作,最初开发这个系统的目的是创建一个数码相机的先进操作系统;但是后来发现市场需求不够大,加上智能手机市场快速成长,于是Android被改造为一款面向智能手机的操作系统。

于2005年8月被美国科技企业Google收购。

2007年11月,Google与84家硬件制造商、软件开发商及电信营运商成立开放手持设备联盟来共同研发改良Android系统,随后,Google以Apache免费开放源代码许可证的授权方式,发布了Android的源代码,让生产商推出搭载Android的智能手机,Android操作系统后来更逐渐拓展到平板电脑及其他领域上。

2010年末数据显示,仅正式推出两年的Android操作系统在市场占有率上已经超越称霸逾十年的诺基亚Symbian系统,成为全球第一大智能手机操作系统。

在2014年GoogleI/O开发者大会上Google宣布过去30天里有10亿台Android设备被激活,相较于2013年6月则是5.38亿。

2.2.2系统架构

Android是基于Linux内核的软件平台和操作系统,采用了软件堆栈(SoftwareStack)的架构,共分为四层。

图2.3Android系统架构

(1)应用程序层

该层提供一些核心应用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人管理等。

同时,开发者可以利用Java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等、友好共处。

(2)应用程序框架层

该层是Android应用开发的基础,开发人员大部分情况是在和她打交道。

应用程序框架层包括活动管理器、窗口管理器、内容提供者、视图系统、包管理器、电话管理器、资源管理器、位置管理器、通知管理器和XMPP服务十个部分。

在Android平台上,开发人员可以完全访问核心应用程序所使用的API框架。

并且,任何一个应用程序都可以发布自身的功能模块,而其他应用程序则可以使用这些已发布的功能模块。

基于这样的重用机制,用户就可以方便地替换平台本身的各种应用程序组件。

(3)系统库和Android运行时

系统库包括九个子系统,分别是图层管理、媒体库、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。

Android运行时包括核心库和Dalvik虚拟机,前者既兼容了大多数Java语言所需要调用的功能函数,又包括了Android的核心库,比如android.os、、android.media等等。

后者是一种基于寄存器的java虚拟机,Dalvik虚拟机主要是完成对生命周期的管理、堆栈的管理、线程的管理、安全和异常的管理以及垃圾回收等重要功能。

(4)Linux内核

Android核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。

Linux内核也是作为硬件与软件栈的抽象层。

驱动:

显示驱动、摄像头驱动、键盘驱动、WiFi驱动、Audio驱动、flash内存驱动、Binder(IPC)驱动、电源管理等。

2.2.3Android版本

Android操作系统是一个由Google和开放手持设备联盟共同开发发展的移动设备操作系统,其最早的一个版本Android1.0beta发布于2007年11月5日,至今已经发布了多个更新。

这些更新版本都在前一个版本的基础上修复了Bug并且添加了前一个版本所没有的新功能。

截止至2015年3月2日,不同的Android操作系统版本的用户比例如表2.1所示:

表2.1用户使用系统版本分布

版本

代号

API

用户分布

2.2

Froyo冻酸奶

8

0.4%

2.3.3-2.3.7

Gingerbread姜饼

10

6.9%

4.0.3-4.0.4

IceCreamSandwich冰淇凌三明治

15

5.9%

4.1.x

JellyBean果冻豆

16

17.3%

4.2.x

17

19.4%

4.3

18

5.9%

4.4

KitKat奇巧巧克力

19

40.9%

5.0.x

Lollipop棒棒糖

21

3.3%

由表可知,当前用户量最多的是代号为JellyBean果冻豆版本,占Android用户42.6%,因此,本设计采用Android4.1.2SDK版本。

2.2.4Android系统权限

Android系统是基于Linux内核实现的的一个智能系统,同时也继承了Linux严格的权限管理。

系统的各部分使用的权限方式并不全部都一样,有各自的规则,Android也遵守这样规则,通过这个原理,将应用于应用、应用与系统分隔开。

Android系统通过权限机制为用户提供了更多的安全功能,一个程序如果没有相应的权限,特定的进程会被禁止执行特定的操作。

而在默认设置下,所有应用都只有普通的权限,不能对其它应用、系统应用或者用户进行较大影响的操作,比如读写用户的隐私数据(短信或通讯录),读写文件到扩展存储器,访问互联网,读写其它应用文件数据等等,在安装应用的时候,系统会先检查程序的配置文件(AndroidManifest.xml),将其需要使用的权限为用户显示出来,经过用户确认之后,系统软件包安装器才会注册该程序,并给予相应的应用权限,这就是Android系统安全架构的核心思想。

2.2.5Android程序开发组件

Android系统的4个重要的组件包括Activity、Service、BroadcastReceiver和ContentProvider。

(1)Activity组件:

Activity是Android程序的呈现层,显示可视化的用户界面,并接受与用户交互所产生的界面事件,与“窗体”的概念非常相似。

Android应用程序可以包含一个或多个Activity,一般在程序启动后会呈现一个Activity,用于提示用户程序已经正常启动了。

Activity在界面上的变现形式一般是全屏窗体,也可以是非全屏悬浮窗体或对话框。

Activity从启动到结束销毁的过程称之为生命周期。

在Activity一个生命周期过程中,Activity一般表现为4种状态,分别是活动状态、暂停状态、停止状态和非活动状态。

1.活动状态,当Activity在用户界面中处于最上层,完全能被用户看到,即全屏,能与用户进行交互,并且系统会尽力地保证Activity的资源需求,则Activity处于活动状态。

2.暂停状态,当其它程序被启动,遮挡了Activity部分界面,或者新的Activity为半透明状态,而原Activity不再全屏显示,且不能够与用户进行交互,则Activity处于暂停状态。

3.停止状态,当新的Activity完全遮挡住原Activity,则原Activity处于停止状态,并且当系统资源不够时,处于停止状态的Activity会被优先终止。

4.非活动状态,前三种状态为Activity主要状态,当Avtivity被用户关闭或者被系统终止之后,Activity不在1、2、3种状态时,Activity则处于非活动状态。

Activity四种状态安排程序流程规则进行转换,转换关系如图2.4所示。

图2.4Activty状态转换图

2.2.6Service组件

因为手机硬件性能和屏幕尺寸的限制,通常Android系统仅允许一个应用程序处于激活状态并显示在手机屏幕上,而暂停其它处于未激活状态的程序,这样的话使得智能手机无法多任务处理,智能手机也不能称之为为智能了。

因此,Android系统需要一种后台服务机制,允许在没有用户界面的情况下,是程序能够长时间在后台运行,实现应用程序的后台服务功能,并能够处理时间或数据更新。

Android系统提供了Service(服务)组件,不直接与用户交互,能够长期在后台运行。

Service适用于无须用户干预,且有规则地运行或长期运行的后台功能。

由于Service没有用户界面,可以更加有利于降低系统资源的消耗,而且Service比Activity具有更高的优先级,在系统资源紧张的时候,Service不会被系统有限终止。

即使Service被终止,在系统资源恢复后,Service也将自动回复运行状态,因此可以认为Service是在系统中永久运行的组件。

Service的生命周期比较简单,仅包括完整生命周期和活动生命周期,如图2.5所示。

图2.5Service生命周期

2.2.7BroadcastReceiver组件

BroadcastReceiver顾名思义,就是广播消息接收者的意思,是用来接收并响应广播消息的组件。

在Android手机中存在着各种各样的广播消息,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能;当网络状态改变时系统会产生一条广播,接收到这条广播就能及时地做出提示和保存数据等操作;当电池电量改变时,系统会产生一条广播,接收到这条广播就能在电量低时告知用户及时保存进度,等等。

除此之外应用程序也可以产生广播信息,例如数据下载完毕等等。

BroadcastReceiver不包含任何用户界面,但是可以通过Acvity或者Notification通知用户接收到重要信息。

Notification能够通过多种方法提示用户,包括闪动背景灯、震动设备、发出声音或在状态栏上放置一个持久的图标等方式。

BroadcastReceiver执行结束后即表示生命周期结束,同时由于ANR(ApplicationNotResponding)限制BroadcastReceiver必须在10秒之内完成,否则会出现“应用程序无响应”的ANR提示,所以BroadcastReceiver不适合做一些耗时的操作。

图2.6BroadcastReceiver处理过程

2.2.8ContentProvider组件

ContentProvider是Android系统提供的一种标准数据分享机制,应用程序可以通过ContentProvider访问其它应用程序的私有数据。

私有数据可以是存储在文件系统中的文件,也可以是SQLite数据库中的数据。

例如,数据库在Android当中是私有的,当然这些数据包括文件数据和数据库数据以及一些其他类型的数据。

不能将数据库设为WORLD_READABLE,每个数据库都只能创建它的包访问,这意味着只有由创建数据库的进程可访问它。

如果需要在进程间传递数据,则可以使用AIDL/Binder或创建一个ContentProvider,但是不能跨越进程/包边界直接来使用数据库。

一个ContentProvider类实现了一组标准的方法接口,从而能够让其他的应用保存或读取此ContentProvider的各种数据类型。

也就是说,一个程序可以通过实现一个ContentProvider的抽象接口将自己的数据暴露出去。

外界根本看不到,也不用看到这个应用暴露的数据在应用当中是如何存储的,或者是用数据库存储还是用文件存储,还是通过网上获得,这些一切都不重要,重要的是外界可以通过这一套标准及统一的接口和程序里的数据打交道,可以读取程序的数据,也可以删除程序的数据,

Android系统内部也提供一些内置的ContentProvider,能够为应用程序功能提供重要的数据信息,例如联系人信息和通话记录等。

图2.7ContentProvider

2.3XX地图

2.3.1简介

XX地图是XX于2005年9月发布的服务项目,它是XX公司与北京图为先科技有限公司联合开发的电子地图服务。

图为先是一个电子地图服务提供公司,先前开发了“图吧”(Mapbar)。

图2.8XX地图

XX地图目前仅支持大中华地区,包括中国大陆、香港、澳门及台湾。

其他国家无地图数据,并且在部分大城市如北京、上海、广州、深圳推出了3D立体地图功能,用户可缩放浏览城市的三维街道图和建筑物仿真构图。

XX地图还推出了卫星地图,缩放可显示全球卫星,但城市级别仅支持北京、上海、广州、深圳、香港、澳门等几个大城市。

虽然与google地图的全球地图仍差距甚远,但XX没有出现谷歌的漂移现象。

通过XX地图搜索,用户可以找到指定的城市、街区、街道、建筑物等所在的地理位置,也可以找到离用户最近的所有餐馆、学校、银行、公园等等。

在交通方面,XX地图搜索还为用户提供了路线查询功能,如果用户要去某个地点,XX地图搜索会提示用户如何换乘公交车,如果用户想自己驾车去,XX地图搜索同样会为用户推荐最佳路线。

除了网页版,目前也已经推出Android、iOS等手机、平板系统版。

2.3.2XX地图API

XX地图API是为开发者免费提供的一套基于XX地图服务的应用接口,包括JavaScriptAPI、Web服务API、AndroidSDK、iOSSDK、定位SDK、车联网API、LBS云等多种开发工具与服务,提供基本地图展现、搜索、定位、逆/地理编码、路线规划、LBS云存储与检索等功能,适用于PC端、移动端、服务器等多种设备,多种操作系统下的地图应用开发。

2.3.3Android地图SDK

XX地图AndroidSDK是一套基于Android2.1及以上版本设备的应用程序接口。

您可以使用该套SDK开发适用于Android系统移动设备的地图应用,通过调用地图SDK接口,您可以轻松访问XX地图服务和数据,构建功能丰富、交互性强的地图类应用程序。

Android地图SDK为开发者提供了实现丰富的LBS功能接口,本设计使用了“短串分享”这个非常实用的功能。

短串分享是指,用户搜索查询后得到的每一个地理位置结果将会对应一条短串(短链接),用户可以通过短信、邮件或第三方分享组件(如微博、微信等)把短串分享给其他用户从而实现地理位置信息的分享。

当其他用户收到分享的短串后,点击短串即可打开手机上的XX地图客户端或者手机浏览器进行查看。

目前短串分享功能暂时开放了“POI搜索结果分享”和“反向地理编码结果分享”。

2.3.4Android定位SDK

XX地图Android定位SDK是为Android移动端应用提供的一套简单易用的LBS定位服务接口,专注于为广大开发者提供最好的综合定位服务,通过使用XX定位SDK,开发者可以轻松为应用程序实现智能、精准、高效的定位功能。

图2.9Android定位

定位SDK是利用设备当前的GPS信息(GPS定位),基站信息(基站定位)和Wi-Fi信息(Wi-Fi定位)完成定位的。

开发者在应用中成功集成XX定位SDK以后,既可以方便的通过定位SDK

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1