基于android的手势加密软件的设计与实现计算机--学位论文.doc

上传人:可****阿 文档编号:91622437 上传时间:2023-05-27 格式:DOC 页数:64 大小:1.46MB
返回 下载 相关 举报
基于android的手势加密软件的设计与实现计算机--学位论文.doc_第1页
第1页 / 共64页
基于android的手势加密软件的设计与实现计算机--学位论文.doc_第2页
第2页 / 共64页
点击查看更多>>
资源描述

《基于android的手势加密软件的设计与实现计算机--学位论文.doc》由会员分享,可在线阅读,更多相关《基于android的手势加密软件的设计与实现计算机--学位论文.doc(64页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、找毕业设计、项目源码、编程视频,就上码农网manong365基于Android的手势加密软件的设计与实现摘 要随着科技的发展,移动智能终端逐渐走进人们的视线,相关应用越来越广泛,并在人们的日常生活中扮演着越来越重要的角色。因此,关键应用程序的开发成为影响移动智能终端普及的重要因素,设计并开发实用、方便的应用程序具有重要的意义和良好的市场前景,如此看来我们设计一款为手机加密的软件也更具有重要的意义和良好的场景。而Android作为当前最流行的操作平台,自然也存在着大量的应用服务需求。 本课题研究的是基于android的手势加密软件的设计与实现,为android手机实现了良好的屏幕加密、解锁功能,

2、同时提供解锁次数限制,实现了对android手机的信息安全保护,为用户提供了一个安全试用、操作方便、用户体验较好的加密锁屏软件。 在信息化如此发达的今天,手机不仅仅是我们拨打电话,发送短信的工具,更加是我们日常生活中信息的载体,里面含有大量私人的信息,我们软件在此背景下设计开发,加强保护手机用户的信息安全,意义重大。关键词:Android;手势加密;SQLite;手机软件Design and implementation of gesture encryption software based on AndroidABSTRACTWith the development of science

3、and technology, mobile intelligent terminal gradually into the line of sight of people, the application is more and more widely, and plays a more and more important in Peoples Daily life.Key application development, therefore, become the important factors that affect mobile intelligent terminal spre

4、ad, design and develop practical and convenient application has important meaning and good market prospects, so we design a software for mobile encryption and more has the vital significance and the good scene.And Android as the most popular operating platform, nature also exist a lot of application

5、 service requirements.This topic research is based on the androids gesture encryption software, the design and implementation of encryption for android mobile phone to achieve the good screen, unlock function, at the same time provide unlock number, implements the information security protection for

6、 android phones, provides users with a safety trial, convenient operation, good user experience can screen software.In such a developed day of informatization, the mobile phone is not just we call, send SMS tool, more is the carrier of information in our daily life, contains a large amount of privat

7、e information, our software under the background of the design and development, strengthen the protection of information security, mobile phone users, is of great significanceKeywords: Android;gestures encryption;SQLite; mobile phone software目 录摘 要IABSTRACTII1 绪 论11.1本课题研究背景和意义11.2当前研究现状11.2.1 各个手机操

8、作系统现状21.3课题的研究内容31.4本论文的组织结构42 关键技术介绍52.1 Android平台相关概念52.1.1 Android系统的特点52.1.2 Android 的功能52.1.3 Android 移动平台开发研究过程62.1.4 Android移动平台下的应用研究62.2 开发环境介绍72.2.1开发工具72.2.2开发环境82.3 Android系统基本框架82.3.1 Applications82.3.2 Application FrameWork82.3.3 Libraries库92.3.4 Android Runtime92.4 Activity简介102.5 Int

9、ent103 手势加密系统分析与设计113.1系统可行性分析113.1.1经济可行性113.1.2 技术可行性113.1.3 操作可行性123.1.4 法律可行性123.2 系统开发环境123.3系统功能需求分析123.3.1 九宫格图案加解锁123.3.2 错误次数限制123.3.3 紧急呼叫123.3.4 重置密码123.3.5 其他设置133.4系统总体设计133.5系统流程设计134 系统编码实现154.1九宫图实现154.2 初始化密码实现314.3 解密功能实现334.4密码重置界面355 系统测试375.1 软件测试375.1.1单元测试375.1.2集成测试和确认测试375.1

10、.3系统测试375.2 测试用例375.3 测试总结406 总结及展望416.1 总 结416.2 展 望41参考文献42致 谢43外文原文44中文翻译541 绪 论1.1本课题研究背景和意义Android是一个真正意义上的开放性移动设备综合平台。它包括操作系统、用户界面和应用程序移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌与开放手机联盟合作开发了Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和T-Mobile在内的30多家技术和无线应用的领军企业组成。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、开放式

11、的移动电话软件平台,在移动产业内形成一个开放式的生态系统,这样应用之间的通用性和互联性将在最大程度上得到保持。所有的Android应用之间是完全平等的。在开发之初,Android平台就被设计成一个由一系列应用所组成的平台。所有的应用都运行在一个核心的引擎上面,这个核心引擎其实就是一个虚拟机,它提供了一系列用于应用和硬件资源间进行通讯的API。虽然市场上已经有同类的手机解锁软件,而且也能够满足用户的需求,但是这些软件的功能都比较单一,而在按键的加解锁方面还没有相关的应用,基于Android平台的手机解锁系统的实现不仅可以避免手机屏幕的划损,也可解放原有的解锁键,而且还有更多的功能让用户选择。基于

12、Android平台的手机解锁系统具有按键加解锁,自定义加解锁音效,支持是否屏蔽自带加解锁键,感应加解锁,自由滑动解锁,防盗警报的功能。1.2当前研究现状Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。Google与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和 T-Mobile 在内的30多家技术和无线应用的领军企业组成。Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标

13、准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。作为谷歌企业战略的重要组成部分,Android 将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。全球为数众多的移动电话用户正在使用各种基于 Android 的电话。谷歌的目标是让(移动通讯)不依赖于设备甚至平台。出于这个目的,Android 将补充,而不会替代谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。2007年,苹果iPhone上市后iOS凭借iPhone优秀的用户体验和多种多样的功能获得了巨大的成功,特别值得一提的是苹果的

14、应用开发分成模式刺激了开发者不断进入,使得苹果的应用程序能不断的更新和发展,截至2010年8月,可用于IOS的应用已经超过了25万,苹果公司因为顺应了终端+应用的智能手机发展趋势,取得了快速的发展.但iOS也有许多问题,因为iOS属于半开放的OS,实现了移动互联网产业链上各环节的普及还是较为困难;其次iPhone的价格比较高,短期时间内难以满足中低端市场的需求。而Android系统,虽然它目前存在安全性和版本混乱等问题,但是拥有低廉的引入成本,良好的用户体验和开放性较强的特点,再加上Android Market和众多第三方应用商店做后盾,在应用方面的资源也非常丰富。Android系统在近几年取

15、得了迅猛的发展,主要还是因为其适应了移动互联网的发展趋势,符合了移动互联网产业链各方的发展变化需求。具有开源特性的Android平台打破了之前Symbian、windows mobile等操作系统收取高额的授权费用的模式,使得只能手机成本大大的降低;而正是由于它开发源代码,使得手机产生更多个性化的应用。同时,合作方能够在这里得到利润或者创造价值,手机软件行业得到维护协调发展。以Google、苹果和路基亚为中心各自形成的生态链将以原来数倍的速度推动移动互联网的发展,这正式Google发布Android平台的意义,也是Andorid平台存在的使命所在。而作为Android平台成员之一的中国移动也投

16、资成立了一家通讯公司,专门从事Google手机软件的应用以及本地化的软件的开发,比如将在Google手机平台上添加飞信、输入法等一系列符合国内用户使用特色的功能。国内众多企业也将眼光投入到Andorid上面,并启动了相关的计划来深入的理解并发展Android。更多的手机软件开发企业已经或者筹备着将公司进行转型,从其方向的开发转向到Android的开发。当然,Android也同样面临着一些挑战和争议。虽然Android在发展过程中遇到一些问题,但在多方面积极的因素推动下,总体趋势仍旧看好。当前,随着HTC进入中国市场,以及酷派、华为、中兴等终端厂商的发力,Android在国内的发展会越来越好;而

17、随着Android系统的发展,Android手机在中国市场的销量在未来必然还将有较大发展空间。综上所述,无论是在国内还是在国外,Android平台对手机软件行业和移动手机平台将发挥极大地推动作用,而在未来的几年或者一段时间内,Android将越发的凸显自己的重要性。1.2.1 各个手机操作系统现状Palm OS是一套专门为掌上电脑编写的操作系统,是一种轻量级、比较开放的操作系统,占用的内存非常小,允许用户在其基础上编写和修改相关软件,是支持的应用程序更加丰富多彩。Plam 在其它方面也还存在一些不足,如Plam操作系统本身不具备录音、MP3播放功能等,但是可以通过加入第三方软件或硬件设备来实现

18、。其代表性的产品有Palm m505、Palm m500、Palm III等。Symbian是一个实时性、多任务的纯32位操作系统,具有功耗低、内存占用少等特点,非常适合手机等移动设备使用,经过不断完善,可以支持GPRS、蓝牙、SyncML以及3G技术。Windows mobile系列操作系统是从微软计算机的Windows操作系统上变化而来的。Windows mobile系列操作系统功能强大,而且支持该操作系统的智能手机大多数都采用了英特尔嵌入式处理器,主频比较高,在其它硬件设置(如内存、储存卡容量等)上也采用其他操作系统的智能手机要高出许多,因此性能比较强劲,速度比较快。Windows mo

19、bile系列操作系统包括SmartPhone以及Pocket PC Phone两种平台。Pocket PC Phone主要用于掌上电脑型的智能手机,而SmartPhone则主要为手上智能手机提供操作系统。Linux系统是一个源代码开放的操作系统。由于其开源性,手机制造商可以根据实际情况开放自己的Linux手机操作系统,从而也能够吸引更多的软件制造商在其上开发更多的应用软件,丰富第三方的应用。但是Linux操作系统也还存在一些不足,集成开放环境和基于Linux的产品与PC的连接性比较差等Ios系统是苹果手机自行开发的一款操作系统,主要用的语言是objective-c,与Android系统相比其缺

20、点是不是开源,制约了开发者,而且开发该项目app需要的资金不少;而对于开发Android软件来言,所有都是免费的、开源的。根据最新数据显示,全球使用的Android系统移动终端设备的人数比例已经占到了80%以上,所以说Android系统的开发是必须的,也是可行的。1.3课题的研究内容Android 系统是Google及其开发联盟推出基于Linux平台开源手机操作系统。Android平台为开发者提供了完整的系统解决方案,而且提供了统一、简单、易用的开发接口,让我们可以轻松地开发出一套手机系统管理软件;本系统研究的是Android平台的手机手势加密软件的设计与实现过程, 要实现本系统,首先要有夯实

21、的专业知识,而且也要对Android程序开发的思路有一定的了解。作为一个实用的手机加锁系统,最主要的是能够让用户体会到本系统的实用性,并且在这个基础上带给用户更多的关于解锁方面的体验。通过开发一个项目,了解Android平台的相关特性和开发的流程。具体来讲:1.通过分析当前阶段下各种人群的喜好和对事物的关注程度来选择究的项目,即日程管理软件;2.通过独立设计UI来了解Android以至于移动平台开发的UI的设计方法;3.通过选取相应的数据存储来方式存储日程管理的数据,来了解Android平台的类库和其相关的设计模式,了解其先进的思想和API的特点;4.通过设计功能点来初步的了解移动平台开发的所

22、需注意事项,初步的了解移动平台的开发,并了解别体会如何获得更好的人机交互;5.通过测试来完善程序,使其Bug不合理地方最少化,并进一步了解Android平台的相关先进的特点和其人性化的设计,与此同时熟悉软件开发的相关流程并深刻认识在编码时一些注意事项的重要性;6.其实完全可以通过发布程序到Google Android Market上,了解Android程序发布的流程,并通过它了解其他平台下的开发、发布的流程。并通过用户的反馈来进行相关的修改。基于此更深刻的理解人机交互的重要性和设计的重要性。1.4本论文的组织结构本论文共分六章第一章:课题的研究背景和意义。针对Android平台的手势加密系统的

23、背景分析以及该系统开发的实际意义做了详尽地分析说明.第二章:关键技术介绍。对Android平台的各种核心技术做了分析说明,同时也针对了SQLite数据库的作用做了介绍。第三章:手势加密系统分析和设计。本章分两部分,分析部分对系统开发的可行性和系统的开发需求做了分析,设计部分对手势加密过程设计和数据库设计做了较为详细的介绍。第四章:系统实现。对本软件的线路站点查询功能的实现过程做了介绍,同时也详细地介绍了地图模块的实现过程。第五章:系统测试。通过对系统进行分析后进行了代码设计、输入输出设计和处理过程设计。详细地给出了系统的所涉及到的大部分页面和最核心的代码,最后还对系统做了较为详细的测试分析。

24、第六章:总结与展望。总结整个项目的完成过程,并对之后该项目做出展望。2 关键技术介绍2.1 Android平台相关概念2.1.1 Android系统的特点1.开放性。Google 与开放手机联盟合作开发了 Android,Google 通过与运行商、设备制造商、开发商和其他有关各方面结成深层次的合作伙伴关系,希望通过建立标准化、开放式的移动电话软件平台,在移动产业形成一个开放式的生态系统。2.应用程序无界限。Android 上的应用可以通过标准 API访问核心移动设备功能。通过互联网,应用程序可以声明它们的功能可提供其他应用程序使用。3.应用程序是在平等的条件下创建的。移动设备上的应用程序可以

25、被替换或扩展,即使是拨号程序或主屏幕这样的核心组件。4.应用程序可以轻松地嵌入网络。应用程序可以轻松地嵌入HTML、JavaScript 和样式表,还可以通过Web View 显示网络内容。5.应用程序可以并行运行。Android是一种完整的多任务环境,应用程序可以在其中并行运行。在后台运行时,应用程序可以生成通知以引起注意2.1.2 Android 的功能1.支持虚拟键盘。虚拟键盘的出现意味着基于 Android 1.5 或以上版本的移动设备可以同时支持物理键盘和虚拟键盘。2.使用Widget实现桌面的个性化。可以用Widget 修饰自己的桌面。大多数小的web应用都是从网络上获得实时数据并

26、展示给用户的。Android预装了5个桌面Widget,包括数字时钟、日历、音乐播放器、相框和搜索。3.用在线文件夹快速游览数据。类似于OS X Leopard的Quick Look特征,Android的在线文件夹可显示常见的数据条目,比如联系人、喜欢的应用、E-mail信息、播放列表、书签、RSS源等,并不需要运行系统程序处理特定的数据条目。4.视频录制和分享。Android还有录制和分享视频的功能,对回放和MPEG-4、3GP等视频格式也有了更好的支持。可以通过E-mail、MMS或直接上传到YouTube等方式来分享视频。5.图片上传。在线分享图片需要的点击更少。完成照相后,当浏览图片或

27、选择Google在线图片服务Picasa时,只需轻点“分享”就会拥有1Gb的免费图片存储空间。6.更快、更兼容的游览器。Android的基于Weskit内核的游览器带来了重要的调速装置(Speedup),这得益于新的Weskit渲染引擎和优化的Java脚本编译器(Squirrelfish).7.Voice Search语音搜索。带有语音识别技术的Google手机已于2008年11月面世,它支持语音搜索功能。该功能增强了默认的搜索能力,已超过纯文本搜索。8.立体声蓝牙和免提电话。除了增强的免提电话体验,Android还支持立体声蓝牙(A2Dphe和AVCRP),并有自动配对功能。9.强大的GPS

28、技术。Android内部提供了大量的GPS组件,我们可以很轻松地获得设备当前的位置等信息,让导航等功能更加完美。10Android系统硬件检测。Android可自动检测和修复SD卡的文件系统,允许第三方应用显示Android系统的硬件特征。为了让用户下载到与自己的设备匹配的应用,我们可以检测用户设备的硬件信息,让满足应用要求的设备安装该程序,当更多的Android设备建立在不同的硬件上时,这个功能显得很实用。2.1.3 Android 移动平台开发研究过程Android 移动平台作为21世纪的新秀,受到了越来越多的开发者的追捧,在这股发的浪潮中,逐渐形成了具有Android 一套具有Andro

29、id 特色的开发流程。由于Android 的优越性,其开发显得非常的有规律性可寻。大致的开发流程如下:1.需求分析。作为一个 软件,它必须有其存在的意义和价值。而这价值和意义就需要靠需求分析来确定。2.功能分析。作为一个手机软件,它的使命就是给用户使用的。如何提供用户最好的用户体验就值得每一个程序员的深思。这也是确保一个程序成功的关键所在。3.界面设计。作为一个手机软件,其只能在极有限的区域中显示自己。如何有限的空间里面更完美的展现出自己的独特之处就显得尤为重要了。4.系统开发。作为一个软件的主体部分,系统开发的好坏直接决定了该系统的性能和寿命。5.测试。在任何一个软件开发行业中,无论是J2E

30、E、J2SE、J2ME等等其他开发中,测试时必不可少的一环。在Android 开发中,由于手机的搞频率使用,和硬件系统上的不足,使得对软件的要求更加的严格,这就要求在开发完成后,在对其进行严格的测试。而测试又包括了像:单元测试、系统测试等等方面的测试。6.发布。在完成了一个系统的开发后,就要将其发布,经过广大用户的考验,只有经过这,才算是一个合格的产品。在Android 平台中,Google 提供了一套完整的发布机制Google market。2.1.4 Android移动平台下的应用研究Android系统提供给应用开发者的本身就是一个框架,所有的应用开发都必须遵守这个框架的原则。我们在开发应

31、用时就是在这个框架上进行扩展,下面来看看Android这个框架都有些什么功能可供我们使用。android.app:提供高层的程序模型和基本的运行环境。android. content:包含对各种设备上的数据进行访问和发布。android. database:通过内容提供者浏览和操作数据库。android. graphics:底层的图形库,包含画布、颜色过滤、点、矩形,可以将它们直接绘制到屏幕上。android. location :定位和相关服务的类。android. media:提供一些类管理多种音频、视频的媒体接口。 :提供帮助网络访问的类,超过通常的 .*接口。androids :提供了

32、系统服务、消息传输和 IPC 机制。android.opengl:提供 OpenGL 的工具。android. provider:提供访问 Android 内容提供者的类。android. telephony:提供与拨打电话相关的 API 交互。android. view:提供基础的用户界面接口框架。android.util :涉及工具性的方法,例如时间日期的操作。android.webkit :默认浏览器操作接口。android. widget:包含各种 UI 元素(大部分是可见的)在应用程序的布局中使用。2.2 开发环境介绍2.2.1开发工具1. Eclipse Classic 3.7.2

33、Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Kit,JDK)。 Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C+和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发

34、自己的IDE。Eclipse 最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT 和PDE。目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一个开发源码项目,它其实是 Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得

35、到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。2. SQLite3SQLite3是一款轻型的数据库,是遵守ACID的关联式数据库管理系统。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起

36、Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月. 至今已经有10个年头,SQLite也迎来了一个版本 SQLite 3已经发布。3. ADT目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,为Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。4. Android SDKSDK:(software development kit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台

37、、操作系统等建立应用软件的开发工具的集合。因此,Android SDK 指的既是Android专属的软件开发工具包。 2.2.2开发环境本软件是在windows 7 操作系统中,利用Eclipse Classic 3.7.2开发工具搭载Android SDK工具包,结合Android手机自带的sqlite3数据库进行开发。2.3 Android系统基本框架Android平台的基本框架如图2-1所示。图2-1 Android基本框架图2.3.1 ApplicationsApplication Android会同一个核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,

38、地图,浏览器,联系人管理程序等。所有的应用程序都是用JAVA编写的。2.3.2 Application FrameWork开发者完全可以访问核心应用程序所使用的API框架。该应用程序架构用来简化组件软件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。该应用程序重用机制使得组建可以被用户替换。所有的应用程序都由一系列的服务和系统组成,包括:l 可扩展的视图(Views)可以用来建应用程序,包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons),甚至包括一个可嵌入的web浏览器l

39、 内容管理器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。l 资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和分层文件(layout files)。l 通知管理器(Notification Manager)使得应用程序可以在状态栏中显示客户通知信息。l 活动类管理器(Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能。2.3.3 Libraries库Android 包括一个被 Android 系统中各种不同组件所使用的 C/C+ 库集。该库通过

40、Android 应用程序框架为开发者提供服务。以下是一些主要的核心库:系统 C 库- 一个从 BSD 继承来的标准 C 系统函数库( libc ),专门为基于 embedded linux 的设备定制。 媒体库- 基于 PacketVideo OpenCORE;该库支持录放,并且可以录制许多流行的音频视频格式,还有静态印像文件包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。 Surface Manager - 对显示子系统的管理,并且为多个应用程序提供2D和3D图层的无缝融合。 LibWebCore - 一个最新的web浏览器引擎用来支持Android浏览器和一

41、个可嵌入的web视图。 SGL - 一个内置的2D图形引擎 3D libraries - 基于OpenGL ES 1.0 APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。 FreeType - 位图(bitmap)和向量(vector)字体显示。 SQLite 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。2.3.4 Android RuntimeAndroid 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik是针对于同时高效地

42、运行多个VMs来实现的。Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对最小内存使用做了优化。该虚拟机是基于寄存器的,所有的类都经由JAVA汇编器编译,然后通过SDK中的dx工具转化成.dex格式由虚拟机执行。Dalvik虚拟机依赖于linux的一些功能,比如线程机制和底层内存管理机制。Linux内核Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件堆栈之间的硬件抽象层。未来发展老牌智能手机软件平台制造商Symbian发言人则表示:Google的Android只不过是另

43、一个linux,symbian对其它软件与其形成的竞争并不感到担心。除了北美之外,Symbian在其它地区智能手机市场都占有大部分市场份额。与iPhone相似,Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台。2.4 Activity简介在Android应用程序中,一个活动Activity通常就是一个单独的界面。每一个界面都被实现为一个独立的类,并且从Activity基类中继承而来,Activity将会显示由空间组成的

44、用户接口,并对事件做出响应。大多数的应用都是由多个Activity显示组成,例如,第一个界面用来显示加载界面,第二界面用来显示实时天气界面,第三个界面用来显示未来一周的天气界面。这里的每一个界面就是一个Activity,很容易是从一个界面到一个新的界面,并且完成新的Activity。当一个新的界面打开后,前一个界面将会暂停,并保留在历史栈中。用户可以返回到历史栈中的前一个界面,当界面不再使用时,从历史栈中删除。简单理解,Activity代表一个用户所能看到的界面,主要用于处理应用程序的整体性工作,例如,监听系统事件(按键事件、触摸屏事件等),为用户显示指定的View,启动其他Activity等

45、。所有应用的Activity都继承于android.app.Activity类,该类是Android提供的基层类,其他的Activity继承该父类后,通过父类的方法实现各种功能,这种设计在其他领域也较为常见。2.5 IntentAndroid基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent(意图),Intent提供了一种通用的消息系统,它允许在你的应用程序与其他的应用程序间传递Intent来执行动作和产生时间。使用Intent可以激活Android应用的三个核心组件:活动、服务和广播接收器。Intent可以划分为显示意图和隐式意图。显示意图调用Intent。SetCl

46、ass方法明确制定了组件名的Intent为显示意图,显示意图明确制定了Intent应该传递给那个组件,在同一个应用内部使用的。隐式意图没有明确指定组件名的Intent为隐式意图。Android系统会根据隐式意图中设置的动作(action)、类别(category)、数据(URI和数据类型)找到最合适的组件来处理这个意图。Intent负责对应用中一次操作的动作、动作涉及数据和附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被

47、调用者之间的结构。3 手势加密系统分析与设计本章首先介绍了基于Android的手势加密查询系统的可行性,确立了开发基础,直接详细阐述了系统各个模块的详细需求分析,接着分析了系统的研究路线和系统的流程设计。3.1系统可行性分析可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。要达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究实质上是对进行了一次较大压缩简化后的系统进行分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。系统的可行性分析

48、主要包括经济上的可行性,技术上的可行性,操作上的可行性和法律上的可行性。3.1.1经济可行性目标系统开发经济需求的比较低,加上具有成熟的Android平台以及十分普及手机设备,所以在软硬件的支出上十分有限。而且,目标系统并是十分的复杂,开发的周期较短,人员经济支出有限。当系统开发成后,通过测试和、试运行和实际应用后,将很大程度上提高手势加密查询系统的科学性和高效性,在为人们带来便利的同时,也为系统的进一步推广、创新创造了条件,这带来的经济回报将远超过支出,并且最重要的一点是通过该系统的开发,可以使我们进一步理解软件工程思想和软件开发流程,更可以让我们加深对Android代码的理解,对Android系统存储技术的熟练,为从事软件开发工作打下很好的基础,从长远利益来考虑,本课题的设计开发还是具有相当大的经济可行性的。3.1.2 技术可行性用An

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁