当前位置:文档之家› 触摸屏的实现原理及在android上的实现

触摸屏的实现原理及在android上的实现

武汉工程大学邮电与信息工程学院

毕业设计(论文)

触摸屏的实现原理及在android上的实现

The Principle of the Touch Screen and the Realization of the Android

学生姓名

学号

专业班级

指导老师

2014年5月

作者声明

本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果,除了文中特别加以标注的地方外,没有任何剽窃、抄袭、造假等违反学术道德、学术规范的行为,也没有侵犯任何其他人或组织的科研成果及专利。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。如本毕业设计(论文)引起的法律结果完全由本人承担。

毕业设计(论文)成果归武汉工程大学邮电与信息工程学院所有。

特此声明。

作者专业:

作者学号:

作者签名:

____年___月___日

摘要

触摸屏作为一种新颖的且直接的输入操作方式已经在全球流行。Android系统的移动设备(智能手机、平板电脑等)由于输入操作的需要,均选用一块全触屏作为其主要输入方式,而为了实现多点触摸,几乎都使用了电容式触摸屏。触摸屏的实现对屏功能的扩展十分有利,应用范围因此大大扩展。更大的屏幕尺寸对触摸屏开辟了更广阔的市场空间,同时也提出了更高的要求。如何保证触摸屏系统的稳定性,如何提高系统的整体性能,如何增强用户体验,是此论文讨论的重点。

本人在论文研究阶段,主要工作有以下几点:

1.认真研究Android系统架构和手机硬件结构的基础上,完成了SPI总线的触摸屏系统硬件设计;

2.将触摸屏设计为A区和B区,A区用于检测触摸点坐标,B区用于检测触摸手势,并且通过对B区一些相关参数的合理设定,提升了用户体验;

3.对Android的Linux Kernel,特别是输入子系统、SPI子系统、工作队列机制等模块,进行了深入研究;

4.对触摸屏控制IC的数据传输方式和协议进行设计,编写完成了融入系统内核的触摸屏驱动程序,使得触摸屏控制IC的数据通过SPI总线快速准确的传输到操作系统,顺利实现了操作系统与触摸屏硬件的交互;

5.在Android版本升级到2.2之后,完成了触摸屏多点触摸功能在驱动层上的摘要实现,使得触摸屏IC的多点数据同时成功上报,用户可以在触摸屏上体验到两点乃至五点同时触摸的操作;

6.最后对触摸屏模块进行了详细测试,并解决了一些在测试过程中发现的问题,最终达到了系统稳定、性能优良、用户体验良好的理想效果。

关键词:Android;触摸屏;Linux

Abstract

Touch screen as a novel and direct input mode of operation has been popular a ll over the world. Mobile Android system (intelligent mobile phone, tablet compute r) because of the need to input operation, with a full touch screen as the primary in put mode, in order to achieve multi touch, almost all of the use ofcapacitive touch screen. Touch screen to achieve the expansion screen function is very advantageou s, thus greatly expanded scope of application.The larger screen size and open up a broader market space to the touch screen, and also put forward higher requirement s. How to ensure the stability of the touch screen system, how to improve the over all performance of the system,how to enhance the user experience,is the focus o f this paper.

I study in this paper,the main work is as follows:

1. serious research on the system architecture of Android and mobile phonehar dware structure,completed the touch screen system hardware design of SPI bus;

2. the touch screen is designed for A and B region,A region for detecting the touch point coordinate,B for the detection of touch gestures,and throughreasonabl

e values for some parameters o

f the B area,and improve the user experience;

3. on the Android Linux Kernel,especially the input subsystem,SPI subsystem, the work queue mechanism module,in-depth research;

4. on the touch screen to control the data transmission in IC and protocoldesi gn,completed the touch screen into the system kernel driver,the touch screen contro l IC data through the SPI bus rapid and accurate transfer to theoperating system,th

e smooth realization o

f the interactive operatin

g systemand touc

h screen hardware;

5. After the Android version to upgrade to 2.2,completed the touch screenmu lti touch function in driving the layer,the more data IC touch screen andreporting,the user can experience points and five points also touch on the touch screen operatio n;

6.at the end of the touch screen module in detail and test,and solves somefo und problems in the testing process,eventually reaching the system stability,excell ent performance,user experience good ideal effect.

Key Words: Android; Touch screen; Linux

目录

第1章绪论 (1)

1.1 Android触摸屏技术的现状与发展趋势 (1)

1.1.1 Android发展现状 (1)

1.1.2 触摸屏发展现状 (1)

1.2本论文的研究内容 (2)

第2章电容式触摸屏工作原理 (4)

2.1 触摸屏简介 (4)

2.2 电容式触摸屏硬件工作原理 (5)

2.3 Linux SPI子系统 (6)

第3章Android概述 (9)

3.1 Android简介 (9)

3.2 Android的特征 (9)

3.3 Android的架构 (11)

3.3.1 应用程序Applications (11)

3.3.2 应用程序框架Application Framework: (11)

3.3.3 库Libraries: (12)

3.3.4 Android RunTime: (13)

3.3.5 Linux内核Liuux Kernel (13)

第4章Android手机触摸屏系统的硬件设计 (14)

4.1 触摸屏系统的整体架构 (14)

4.2 触摸屏模块的硬件接口设计 (15)

第5章软件设计方案 (17)

5.1 触摸屏的数据传输设计 (17)

5.1.1触摸屏模块的串行数据接口 (17)

5.1.2 触摸屏模块的参数传输 (17)

5.1.3 触摸结果数据的读取 (19)

5.2 Android系统多点触摸的研究实现 (19)

5.2.1 软件结构 (19)

5.2.2 多点触摸简介 (20)

5.2.3 多点触摸在Android驱动层的实现方式 (21)

第6章总结与展望 (23)

6.1 总结 (23)

6.2展望 (23)

参考文献 (25)

致谢 (26)

附录主要英文缩写语对照表 (27)

第1章绪论

1.1 Android触摸屏技术的现状与发展趋势

1.1.1 Android发展现状

Android是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序等移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。这使得全球运营商、手机商纷纷加入。当然,除了Android还有苹果的平台、诺基亚的Symbian以及微软的移动操作系统。事实上,手机操作系统的竞争还非常强劲,不过近年苹果和Google的崛起,让原来波澜不惊的手机操作系统进入了一个战国纷争的年代。Android是目前开放性最强的移动设备综合平台,它使得电信运营商、手机制造商以及产业链各环节能够更好、更快地将创新性产品推向市场,同时能有效的降低成本。HTC的多款手机都是使用Android系统平台,Motorola、SonyEricsson、SAMSUNG等公司也纷纷与各大运营商合作,推出了自己的Android系统手机。Google也一直致力于Android的发展,Android系统版本也已经从1.5版Cupcake(纸杯蛋糕),1.6版Donut(甜甜圈)、2.0/2.1版Eclair(法式奶油夹心甜点)、2.2版Froyo(冻酸奶)迅速升级到现在最新的2.3版Gingerbread(姜饼)。很显然每一代的Android系统都按照英文字母顺序在排列,且都是馋人的甜品。各大公司紧跟Google发布的各个Android版本,纷纷推出相关电子产品。

1.1.2 触摸屏发展现状

现今社会上很多人都频繁地接触到触摸屏,这种装置最常见于PDA和手机等手持设备中。触摸屏输入克服了键盘输入繁琐的缺点,逐渐成为手持设备的主流人机交互接口。目前电子设备常用的触摸屏技术共分五大类,即电阻式、表面电容式、投射电容式、表面声波式与红外线式等。前三种触摸屏技术因为装置体积较小,精密度相对可以做得更高,因此适用于体积小巧的便携式装置或者消费性

电子产品。后两种技术做出的触摸屏不是太昂贵就是体积太大,因此不适合上述应用。

虽然触摸屏技术应用已经行之有年,但长久以来触摸屏应用领域都是电阻式触摸屏的天下,直到iPhonc的横空出世将电容式触摸屏的使用提升到一个全新的高度。电容式触摸屏有出色的信噪比、高精度、无需用户校正、可实现多点触摸等优点,解决了之前各种触摸屏的许多问题,已经逐步成为了触摸屏市场的主流。.Android系统的智能手机由于其输入操作的需要,均选用一块全触屏作为其主要输入方式,而为了实现多点触摸,几乎都使用了电容式触摸屏。极大的市场需求刺激了电容式触摸屏的快速发展,一些优秀的电容式触摸屏控制IC也随之产生,如Cypress公司的TureTouch系列芯片,FocalTech公司的FT5201/5202芯片。

由于各个触摸屏厂商的产品规格、性能等方面都大不相同,手机厂商在选定触摸屏及触摸屏控制IC之后,需要根据自身的产品需求跟触摸屏厂商制定详细的spec,并在开发过程中不断完善,以达到触摸屏的完美用户体验。

1.2本论文的研究内容

现今市场上,基于Android系统平台的智能手机或平板电脑无一不使用一块大尺寸的触摸屏作为其设备的输入方式,或加配侧滑全键盘。触摸屏有其方便灵活、节省空间、直观等诸多特点,已经成为移动电子产品输入方式的主流。从而,触摸屏成为了这些Android操作系统的电子产品中不可或缺的一种硬件之一。

触摸屏作为一种新颖的且直接的输入操作方式已经在全球流行。Android系统的移动设备(智能手机、平板电脑等)由于输入操作的需要,均选用一块全触屏作为其主要输入方式,而为了实现多点触摸,几乎都使用了电容式触摸屏。触摸屏的实现对屏功能的扩展十分有利,应用范围因此大大扩展。更大的屏幕尺寸对触摸屏开辟了更广阔的市场空间,同时也提出了更高的要求。如何保证触摸屏系统的稳定性,如何提高系统的整体性能,如何增强用户体验,是此论文讨论的重点。

本论文研究内容主要有以下几点:

1.认真研究Android系统架构和手机硬件结构的基础上,完成了SPI总线的

触摸屏系统硬件设计;

2.将触摸屏设计为A区和B区,A区用于检测触摸点坐标,B区用于检测触摸手势,并且通过对B区一些相关参数的合理设定,提升了用户体验;

3.对Android的Linux Kernel,特别是输入子系统、SPI子系统、工作队列机制等模块,进行了深入研究;

4.对触摸屏控制IC的数据传输方式和协议进行设计,编写完成了融入系统内核的触摸屏驱动程序,使得触摸屏控制IC的数据通过SPI总线快速准确的传输到操作系统,顺利实现了操作系统与触摸屏硬件的交互;

5.在Android版本升级到2.2之后,完成了触摸屏多点触摸功能在驱动层上的摘要实现,使得触摸屏IC的多点数据同时成功上报,用户可以在触摸屏上体验到两点乃至五点同时触摸的操作;

6.最后对触摸屏模块进行了详细测试,并解决了一些在测试过程中发现的问题,最终达到了系统稳定、性能优良、用户体验良好的理想效果。

第2章电容式触摸屏工作原理

2.1 触摸屏简介

现今社会上很多人都频繁地接触到触摸屏,这种装置最常见于PDA和手机等手持设备中。触摸屏输入克服了键盘输入繁琐的缺点,逐渐成为手持设备的主流人机交互接口。触摸屏的基本概念很简单——当您将手指或者触控笔放在屏幕上时,设备状态随之发生改变。

目前电子设备常用的触摸屏技术共分五大类,即电阻式、表面电容式、投射电容式、表面声波式与红外线式等。前三种触摸屏技术因为装置体积较小,精密度相对可以做得更高,因此适用于体积小巧的便携式装置或者消费性电子产品。

电阻式触摸屏和电容式触摸屏的主要对比如表2.1所示。

表2.1 电阻式和电容式触摸屏对比

电阻式方案已经非常成熟,一般都是和液晶屏打包配套,成本比较低。但是,由于先天结构(原理)上的原因,使用一段时间后需要重新对触摸屏进行校正。低端

的4线电阻式触摸屏需要直接与指尖或笔接触,所以在上盖的设计上会有一个开孔,对外界的各种干扰(灰尘,湿气,ESD等等)都缺乏有效的防护,所以可靠性和耐用性较差。高端的5线式电阻式触摸屏可以通过改善结构解决这个问题,但成本上已经和电容式持平。且对一些复杂的手势(特别是多点触摸)缺乏有效的支持,而这恰恰就是电容式触摸屏最大的卖点。

电容式方案的结构和实现原理和电阻式完全不一样,主要是根据接触区域的电容量来判断手指的位置,所以目前只能通过手指来感应,并且可以对多点触摸等复杂的手势可以提供完善的支持。由于对外界的感应需要通过一层不导电的介电质(塑胶,玻璃等),触摸屏需要贴合在上盖背面,所以对外界的抗干扰能力较强,可靠性和耐用性高。

由上表可知,电阻式触摸屏和电容式触摸屏各有优劣,但是随着多点触摸操作在智能手机上的广泛应用,只能实现单点操作的电阻式触摸屏已经无法满足用户的需要,电容式触摸屏已经成为了Android操作系统智能手机的主流,几乎每一款Android手机都是选用电容式触摸屏。

2.2 电容式触摸屏硬件工作原理

电容式触摸技术是实现多点触控的希望所在,它需要一个或多个精心设计的、被刻蚀的ITO层,这些ITO层通过刻蚀形成多个水平和垂直电极,所有这些电极都由一个电容式感应芯片来驱动。该芯片既能将数据传送到一个主处理器,也能自己处理触摸点的XY轴位置。投射电容屏可分为自电容屏和互电容屏两种类型。

在玻璃表面用ITO制作成横向与纵向电极阵列,这些横向和纵向的电极分别与地构成电容,这个电容就是通常所说的自电容,也就是电极对地的电容。当手指触摸到电容屏时,手指的电容将会叠加到屏体电容上,使屏体电容量增加。

在触摸检测时,自电容屏依次分别检测横向与纵向电极阵列,根据触摸前后电容的变化,分别确定横向坐标和纵向坐标,然后组合成平面的触摸坐标。自电容的扫描方式,相当于把触摸屏上的触摸点分别投影到X轴和Y轴方向,然后分别在X轴和Y轴方向计算出坐标,最后组合成触摸点的坐标。

如果是单点触摸,则在X轴和Y轴方向的投影都是唯一的,组合出的坐标也

是唯一的;如果在触摸屏上有两点触摸并且这两点不在同一X方向或者同一Y方向,则在X和Y方向分别有两个投影,则组合出4个坐标。显然,只有两个坐标是真实的,另外两个就是俗称的“鬼点”。因此,自电容屏无法实现真正的多点触摸。

互电容屏也是在玻璃表面用ITO制作横向电极与纵向电极,它与自电容屏的区别在于,两组电极交叉的地方将会形成电容,也即这两组电极分别构成了电容的两极。当手指触摸到电容屏时,影响了触摸点附近两个电极之间的耦合,从而改变了这两个电极之间的电容量。检测互电容大小时,横向的电极依次发出激励信号,纵向的所有电极同时接收信号,这样可以得到所有横向和纵向电极交汇点的电容值大小,即整个触摸屏的二维平面的电容大小。根据触摸屏二维电容变化量数据,可以计算出每一个触摸点的坐标。因此,屏上即使有多个触摸点,也能计算出每个触摸点的真实坐标。

互电容屏的优点是布线较少,而且能同时识别和区分多个触点之间的差异,自电容屏也可感测多个触点,不过由于信号本身模糊,故不能区分。此外,互电容屏的感应方案还有速度快和功耗低的优势,因为其能同时测量一条驱动线路上的所有节点,所以可减少50%的采集周期数。这种双电极式结构具有自我屏蔽外部噪声的功能,在一定功率级上可提高信号稳定性。

在任何情况下,触摸位置都是通过测量X电极和Y电极之间信号改变量的分配来确定的,随后会使用数学算法处理这些己改变的信号电平,以确定触摸点的XY坐标。

2.3 Linux SPI子系统

SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用了四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,比如

AT91RM9200。

SPI总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口。

SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(用于单向传输时,也就是半双工方式),也是所有基于SPI的设备共有的,它们是SDI(数据输入),SDO(数据输出),CLK(时钟),CS(片选)。

SDO:主设备数据输出,从设备数据输入

SDI:主设备数据输入,从设备数据输出

CLK:时钟信号,由主设备产生

CS:从设备使能信号,由主设备控制

其中CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。接下来就负责通讯的3根线了。通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据是一位一位的传输的。这就是SCK时钟线存在的原因,由CLK提供时钟脉冲,SDI,SDO则基于此脉冲完成数据传输。数据输出通过SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。

要注意的是,CLK信号线只由主设备控制,从设备不能控制信号线。同样,在一个基于SPI的设备中,至少有一个主控设备。这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少8位数据,而SPI允许数据一位一位的传送,甚至允许暂停,因为CLK时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对CLK时钟线的控制可以完成对通讯的控制。SPI还是一个数据交换协议:因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。不同的SPI设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有

不同定义。

在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。在多个从设备的系统中,每个从设备需要独立的使能信号,硬件上比I2C 系统要稍微复杂一些。

第3章Android概述

3.1 Android简介

Android是Google于2007年11月05日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。它采用软件堆层(Software Stack,又名软件叠层)的架构,主要分为三部分:底层以Linux 内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Library和虚拟机Virtual Machine,由C++开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。

Android不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件。Google通过与软、硬件开发商、设备制造商、电信运营商等其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。

Android作为Google企业战略的重要组成部分,将进一步推进“随时随地为每个人提供信息"这一企业目标的实现。全球为数众多的移动电话用户正在使用各种基于Android的电话。Google的目标是让移动通讯不依赖于设备甚至平台。出于这个目的,Android将补充,而不会替代Google长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。

3.2 Android的特征

应用框架:用于开发可重用可替代的组件。Dalvik虚拟机:Android采用的Java 虚拟机并不是SUN公司的JME引擎,而是自主开发的代号为Dalvik的虚拟机技术,在保证API方面的兼容的同时Dalvik针对移动手机进行了大幅优化,占用资源更小,运行效率更高。

集成的浏览器:基于开源的WebKit引擎。WebKit是一个开源浏览器网页排版引擎,目前使用WebKit引擎的浏览器主要有:Safari,Midori,Epiphany等。

优化的图形:强大的自定义二维图形库;基于OpenGLES 1.0标准的3D图形功能(使用硬件加速)。

SQLite:SQLite提供结构化的数据存贮。SQLite是一款轻型的数据库,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用的资源非常低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL来讲,它的处理速度更快。SQLite虽然很小巧,但是支持的SQL语句不会逊色于其它开源数据库。同时它还支持事务处理功能等等。

提供媒体功能:支持各种通用的音视频和静态图像格式(MPEG4,H.264,MP3,AAC,AMR,JPG,PNG,GIF) 。

GSM技术:(依赖硬件)Global System for Mobile Communications,全球移动通讯系统,俗称“全球通”,是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。

蓝牙,EDGE,3G,WiFi:(依赖硬件)蓝牙(Bluetooth)是一种新型、开放、低成本、短距离的无线连接技术,可取代短距离的电缆,实现话音和数据的无线传输。EDGE(Enhanced Data Rate for GSM Evolution),即增强型数据速率GSM演进技术。EDGE是一种从GSM到3G的过渡技术,它主要是在GSM系统中采用了一种新的调制方法,即最先进的多时隙操作和8PSK调制技术。由于8PSK可将现有GSM网络采用的GMSK调制技术的信号空间从2扩展到8,从而使每个符号所包含的信息是原来的4倍。WiFi(WirelessFidelity),无线保真技术,与蓝牙技术一样,同属于在办公室和家庭中使用的短距离无线技术。该技术使用的是2.4GHz 附近的频段,该频段目前尚属没用许可的无线频段。其目前可使用的标准有两个,分别是IEEE802.11a和IEEE802.11b。

Camera,GPS,compass,accelerometer:(依赖硬件)GPS(Global PositioningSystem),即全球定位系统。它是一个由覆盖全球的24颗卫星组成的卫星系统。这个系统可以保证在任意时刻,地球上任意一点都可以同时观测到4颗

卫星,以保证卫星可以采集到该观测点的经纬度和高度,以便实现导航、定位、授时等功能。这项技术可以用来引导飞机、船舶、车辆以及个人,安全、准确地沿着选定的路线,准时到达目的地。GPS全球卫星定位系统由三部分组成:空间部分—GPS星座;地面控制部分—地面监控系统;用户设备部分—GPS信号接收机。Compass是一个开放源码JA V A搜索引擎框架。

强大的开发环境:包括一个设备模拟器,调试工具,内存和性能检测,以及Eclipse IDE的开发插件。Eclipse是以个集成开发环境(Integrated Development Environment)。

3.3 Android的架构

Android平台从上层到底层由以下五部分组成架构分成:应用程序、应用程序框架、库、Android Runtime及Linux内核。

3.3.1 应用程序Applications

Android的配置搭载它的核心应用,包括email客户端,SMS程序,日历,地图,浏览器,contacts以及其它一些应用。所有的应用都是用java语言编写的。

3.3.2 应用程序框架Application Framework:

开发人员具有和核心应用相同的框架API访问权限。应用程序的构建模式被设计成简单的可重用的组件。所有应用能够分享他的能力,所有应用都是如此(这是被框架强迫的安全约束)。这样允许用户在相同的机器上替换组件。

一套用于支撑应用的服务和系统,包括:

一套强大和可扩展的视图,用于构建应用,包括列表,网格,文本框,按钮,甚至内嵌的Web浏览器;

内容提供,用于应用间的数据提供和数据共享;

一个资源管理器,提供非代码的资源支持,包括本地字符串,图像文件,和布局文件;

一个Notification管理器,用于应用程序在状态栏显示告警信息;

一个Activity管理器,用于管理应用的生命周期,以及提供通用的导航辅助。

3.3.3 库Libraries:

Android包含一整套C/C++库,用于构建Android系统的大量不同的组件。这些能力通过Android应用程序框架暴露给开发人员。部分核心库如下:系统C库,一个由BSD发起的标准C库实现,专门为基于Linux的嵌入式设备作了调整:

媒体库,基于PacketVideo's OpenCORE;该库支持回放和录制大量流行的音视频格式和静态图片,包括MPEG4、H.264、MP3、AAC、AMR、JPG和PNG;

Surface管理,用于管理显示子系统和无缝合成不同应用的2D和3D图形层;

LibWebCore,先进的web浏览器引擎。被用来构建Android浏览器和内嵌的web视图;

SGL,底层的2D图形引擎;

3D库,一套OpenGLES 1.0APIs的实现;该库使用硬件加速(当硬件可用时)或者高度优化的3D软件光栅;

FreeType,用于点阵和矢量字体渲染;

SQLite,能够被所有应用使用的强大的轻量级的关系数据库引擎;

SSL,(Secure Sockets Layer),中文名为“安全套接层协议层”,它是网景(Netscape)公司提出的基于WEB应用的安全协议,当前版本为3.0。SSL协议指定了一种在应用程序协议(如HTTP、Telenet、NMTP和FTP等)和TCP/IP协议之间提供数据安全性分层的机制,它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:SSL记录协议(SSLRecord Protoc01):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL握手协议(SSL HandshakeProtoc01):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、

相关主题
文本预览
相关文档 最新文档