AL3003光控安卓手机解锁软件设计(2)
时间:2022-10-03 20:59 来源:毕业论文 作者:毕业论文 点击:次
本文所提到的AL3003,是一个距离、光线二合一传感器。AL3003拥有I2C接口,与系统所提供的接口方式完全吻合,均基于I2C总线协议。因此,在为AL3003开发I2C驱动的时候可以依据I2C设备驱动程序的开发方式。本篇文章将重点叙述传感器的驱动和在手机解锁软件中的应用。 1。 Android历史及现状 Android操作系统是一个由Google开发的移动设备操作系统,从2007年11月15日发布的第一个版本开始,至今已经发布了多种版本更新。随后Google以免费开源授权的方式公布了Android的源代码,这一举动使Android系统迅速的占领了大量的市场,主要使用于各类移动设备,现在在平板电脑、游戏机等其他便携式设备上也会看到Android系统的身影。2011年,Android的市场销量超过Symbian,跃居全球第一[1]。 2。 相关技术介绍 2。1 Android系统 Android系统作为操作系统和软件搭载平台应用于智能手机上,它采用的形式为软件堆层,由三部分构成:最上层的是由开发人员用Java开发出来的关键应用程序、中间是中间件、位于最下端的是基于Linux的操作系统。 Android系统主要框架如图1所示,其中包含了应用层、应用框架层、内核层、标准库层和硬件抽象层。下面介绍每层的具体内容。 2。1。1 应用层 Google在发布Android的同时,还发布了一些比较核心的应用程序,如通讯录、日历、地图等。开发者可以利用开源代码,使用Java随意开发自己的应用。这与其他智能手机操作系统完全不同,是本文选取Android为搭载平台的主要原因。 Android整合出来四类核心组件,具体作用各不相同,分别为:Service组件、Content Provider组件、Broadcast Receiver组件、和Activity组件[2]。 图1 Android框架图 (1) Activity (活动组件): 在Android应用中,对Activity的管理是通过堆栈的形式进行的,在多个Activity中,每一个Activity都拥有一个独立的窗口。在程序运行的过程中,系统会从堆栈中选取当中一个Activity进行窗口展示,在选取到下一个Activity时,前一个会自动放回堆栈,直至下一次被唤醒。 (2) Service (服务组件): Service属于后台运行程序,没有用户可视化界面。 (3) Content Provider (内容提供组件): 为其他应用程序创建所需的数据,实现不同组件之间的数据共享。 (4) Broadcast Receiver (广播接受组件): 用来进行系统内的信息共享。 2。1。2 应用框架层 应用框架层是为应用程序提供各种编程接口,开发人员可以根据自身需求使用框架来开发应用。应用框架层的主要组件有: (1) 视图组件:用来构建文本框、表格等应用程序。 (2) 活动管理器:管理应用程序的形态,如创建、暂停、终止等。 (3) 内容管理器:可以使应用程序间相互访问,达到数据共享的目的。 (4) 包管理:管理的对象为Android系统内的程序。 (5) 资源管理器:提供资源访问,与代码无关。 (6) 消息管理器:使部分程序在通知栏显示所需信息。 (7) 窗口管理器:对所有窗口程序进行管理。 2。1。3 标准库层 Android中含有源代码库,我们使用各个组件时可以得到源代码库的支持,从而完成对Android应用框架的操作。 SGL: 2D图形引擎库。 SQ Lite: 可用轻型关系数据库引擎 Bionic系统C库: 里面含有C语言标准库,通过Linux系统进行调用,位于整个系统的最低端。 Web kit: Web浏览器引擎。 3D libraries: 优化3D效果。 多媒体库:能对现有的多种格式的影视作品进行播放,也可录制不同格式的影视作品。 (责任编辑:qin) |