Android系统架构

上传人:小*** 文档编号:242985992 上传时间:2024-09-13 格式:PPT 页数:30 大小:692.11KB
返回 下载 相关 举报
Android系统架构_第1页
第1页 / 共30页
Android系统架构_第2页
第2页 / 共30页
Android系统架构_第3页
第3页 / 共30页
点击查看更多>>
资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2012/4/24,#,单击此处编辑母版标题样式,Android,系统架构,目录,1.,关于,Android,2.Android,系统的优势,3.A,ndroid,的系统架构,4.A,ndroid,系统的四大组件,5.Android,的系统包,1.,关于,Android,2007,年,11,月,5,日谷歌公司宣布与其他一些手机制造厂商、移动运营商、芯片制造商等厂商联合组成开发手机联盟(,Open Handset Alliance,OHA,),并发布了基于,Linux,内核的开源的手机开发平台,Android,,,Android,不仅仅是一款手机操作系统,而更像是一个对任何开发人员开放的移动终端开发平台。该平台是由操作系统、中间件、用户界面以及应用程序组成,并且对外开放源代码,一经推出便引起世界各地开源爱好者的关注。同时,谷歌与各大厂商的大力合作也大大的促进了,Android,新的手机的业务的不断推出,同时也使得,Android,更加的标准。,1.,关于,Android,第一款搭载,Android,操作系统的手机应该是,T-mobile G1,手机了,该款手机是,2008,年,9,月,22,日由美国移动运营商,T-mobile USA,在纽约发布的,该款手机由台湾宏达电子,HTC,制造,支持,WCDMA/HSPA,网络,理论下载速率到达,7.2Mbit/s,并支持,Wi-Fi,功能。,Android,用甜点作为它们系统版本的代号的命名方法开始于,Android 1.5,发布的时候。作为每个版本代表的甜点的尺寸越变越大,然后按照,26,个字母数序:,1.,关于,Android,纸杯蛋糕,Android1.5-upcake,甜甜圈,Android1.6,Donut,松饼,Android2.0,Eclair,冻酸奶,Android2.2,Froyo,姜饼,Android2.3,Gingerbread,蜂巢,A,ndroid3.0,,,3.1,,,3.2,Honeycomb,冰激凌三明治,Android4.0,Ice,Cream,Sandwich,根据最新消息新一代,Android,版本将命名为,果冻豆,(,Android5.0-Jelly Bean,),2009 .,5,2009.9 2009.10 2010.1 2010.12 2011.5 2011.10,2.Android,系统的优势,2.Android,系统的优势,(,1,)良好的开放性平台,Android,系统最震撼人心之处在于它的开放性和服务免费。,对第三方软件完全开放的平台,,开发,者在为其开发程序时拥有更大,的自由度,突破了,iphone,等只能添,加为数不多的固定软件的枷锁。,开放的海量市场,网站,下载:,安卓网,机峰网,,91,助手等,支持所有,.apk,文件,2.Android,系统的优势,(,2,),个性化界面设置,多种插件,快捷方式,和文件夹,打造个性,化的屏幕以满足个性需求。,轻松添加,得心应手,您可以随意更新排列主屏幕项目,2.Android,系统的优势,(,3,)与,google,应用的无缝结合,由于,android,系统是由,google,主导,研发的,因此,android,操作系统手机 将无缝结合这些优秀的,Google,互联服务,如大家熟知的,Google,Map,,,Google Search,,,Gmail,等,在手机上都可以使用。,支持,google,全方位服务,丰富最新的网络体验。,3.A,ndroid,的系统架构,3.A,ndroid,的系统架构,从上图中可以看出,,Android,系统架构为四层结构,从上层到下层分别是应用程序层、应用程序框架层、系统运行库层以及,Linux,内核层,分别介绍如下:,1,),应用程序层,Android,平台不仅仅是操作系统,也包含了许多应用程序,诸如,SMS,短信客户端程序、电话拨号程序、图片浏览器、,Web,浏览器等应用程序。这些应用程序都是用,Java,语言编写的,并且这些应用程序都是可以被开发人员开发的其他应用程序所替换,这点不同于其他手机操作系统固化在系统内部的系统软件,更加灵活和个性化。,3.A,ndroid,的系统架构,2,),应用程序框架层,应用程序框架层是我们从事,Android,开发的基础,很多核心应用程序也是通过这一层来实现其核心功能的,该层简化了组件的重用,开发人员可以直接使用其提供的组件来进行快速的应用程序开发,也可以通过继承而实现个性化的拓展。,a,),Activity Manager,(活动管理器),管理各个应用程序生命周期以及通常的导航回退功能,b,),Window Manager,(窗口管理器),管理所有的窗口程序,c,),Content Provider,(内容提供器),使不同应用程序之间存取或者分享数据,3.A,ndroid,的系统架构,d,),View System,(视图系统),构建应用程序的基本组件,e,),Notification Manager(,通告管理器,),使得应用程序可以在状态栏中显示自定义的提示信息,f,),Package Manager,(包管理器),Android,系统内的程序管理,g,),Telephony Manager(,电话管理器,),管理所有的移动设备功能,h,),Resource Manager,(资源管理器),提供应用程序使用的各种非代码资源,如本地化字符串、图片、布局文件、颜色文件等,3.A,ndroid,的系统架构,i,),Location Manager(,位置管理器,),提供位置服务,j,),XMPP Service,(,XMPP,服务),提供,Google Talk,服务,3,),系统运行库层,从图中可以看出,系统运行库层可以分成两部分,分别是系统库和,Android,运行时,分别介绍如下:,a,)系统库,系统库是应用程序框架的支撑,是连接应用程序框架层与,Linux,内核层的重要纽带。其主要分为如下几个:,3.A,ndroid,的系统架构,Surface Manager,:,执行多个应用程序时候,负责管理显示与存取操作间的互动,另外也负责,2D,绘图与,3D,绘图进行显示合成。,Media Framework,:,多媒体库,基于,PacketVideo OpenCore;,支持多种常用的音频、视频格式录制和回放,编码格式包括,MPEG4,、,MP3,、,H.264,、,AAC,、,ARM,。,SQLite:,小型的关系型数据库引擎,OpenGL|ES,:,根据,OpenGL ES 1.0API,标准实现的,3D,绘图函数库,3.A,ndroid,的系统架构,FreeType,:,提供点阵字与向量字的描绘与显示,WebKit,:,一套网页浏览器的软件引擎,SGL,:,底层的,2D,图形渲染引擎,SSL,:,在,And,ro,id,上通信过程中实现握手,Libc,:,从,BSD,继承来的标准,C,系统函数库,专门为基于,embedded linux,的设备定制,3.A,ndroid,的系统架构,b,),Android runtime,Android,应用程序采用,Java,语言编写,程序在,Android runtime,中执行,其运行时分为核心库和,Dalvik,虚拟机两部分。,核心库,核心库提供了,Java,语言,API,中的大多数功能,同时也包含了,Android,的一些核心,API,如,android.os,、,、,android.media,等等。,Dalvik,虚拟机,Android,程序不同于,J2me,程序,每个,Android,应用程序都有一个专有的进程,并且不是多个程序运行在一个虚拟机中,而是每个,Android,程序都有一个,Dalvik,虚拟机的实例,并在该实例,3.A,ndroid,的系统架构,中执行。,Dalvik,虚拟机是一种基于寄存器的,Java,虚拟机,而不是传统的基于栈的虚拟机,并进行了内存资源使用的优化以及支持多个虚拟机的特点。需要注意的是,不同于,J2me,Android,程序在虚拟机中执行的并非编译后的字节码,而是通过转换工具,dx,将,Java,字节码转成,dex,格式的中间码。,4,),Linux,内核层,Android,是基于,Linux2.6,内核,其核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于,Linux,内核。,4.A,ndroid,系统的四大组件,在,Android,中,一个应用程序可以使用其它应用程序的组件,这是,Android,系统一个非常重要的特性。在需要的时候,Android,会启动另外一个程序的部分代码,这部分代码实现了你请求执行的动作的功能,而不是在你的应用程序中直接包含另外一个应用程序的代码。为了实现这样的功能,,Android,系统必须能够在其它应用程序有请求的时候启动一个应用程序进程并实例化部分,java,对象。因此,,Android,应用程序包含一些运行应用程序所必须的能够被,Android,系统实例化的组件。这些组件主要包括以下四种类型:,4.A,ndroid,系统的四大组件,1,),Activity,一个,Activity,通常展现为一个可视化的用户界面。每个,A,ctivity,都会有一个用于绘制用户界面的窗口。通常这样一个窗口会填充整个屏幕,当然这个窗口也可以比屏幕小并漂浮在其他窗口之上。展示,A,ctivity,窗口的可视化内容区域是一些具有层次关系的视图,而视图则是由类,View,的子类表示的。视图就是,A,ctivity,与用户交互的接 口。例如,一个显示图片的视图,当用户单击的时候它可能会启动一个动作。,Android,有许多开发人员可以直接使用的视图,包括按钮,文本域,滚动条,菜 单,复选框等。,通过调用,Activity.setContentView(),方法来设置展现,A,ctivity,的窗口的视图。内容视图则是视图层次结构中的根节点视图。,4.A,ndroid,系统的四大组件,2,),Service,service,没有用户界面,但它会在后台一直运行。例如,,service,可能在用户处理其它事情的时候播放背景音乐,或者从网络上获取数据,或者执行一些运算,并把运算结构提供给,A,ctivity,展示给用户。每个,service,都扩展自类,Serivce,。,应用程序可以连接到一个正在运行中的,service,。当连接到一个,service,后,可以使用这个,service,向外暴露的接口与这个,service,进行通信。对于上面提到的播放音乐的,service,,这个接口可能允许用户暂停,停止或重新播放音乐。,与,activity,以及其它组件一样,,service,同样运行在应用程序进程的主线程中。所以它们不能阻塞其它组件或用户界面,通常需要为这些,service,派生一个线程执行耗时的任务。,4.A,ndroid,系统的四大组件,3,),Broadcase receiver,broadcase receiver,不执行任何任务,仅仅是接受并响应广播通知的一类组件。大部分广播通知是由系统产生的,例如改变时区,电池电量低,用户选择了一幅图片或 者用户改变了语言首选项。应用程序同样也可以发送广播通知,例如通知其他应用程序某些数据已经被下载到设备上可以使用。,broadcast receiver,不包含任何用户界面。然而它们可以启动一个,activity,以响应接受到的信息,或者通过,NotificationManager,通知用 户。可以通过多种方式使用户知道有新的通知产生:闪动背景灯、震动设备、发出声音等等。通常程序会在状态栏上放置一个持久的图标,用户可以打开这个图标并 读取通知信息。,4.A,ndroid,系统的四大组件,4,),Content provider,应用程序可以通过,content provider,访问其它应用程序的一些私有数据,这是,Android,提供的一种标准的共享数据的机制。共享的数据可以是存储在文件系统中、,SQLite,数据库中或其它的一些媒体中。,content provider,扩展自,ContentProvider,类,通过实现此类的一组标准的接口可以使其它应用程序存取由它控制的数据。然而应用程序并不会直接 调用,ContentProvider,中的方法,而是通过类,ContentResolver,。,ContentResolver,能够与任何一个,ContentProvider,通信,它与,ContentProvider,合作管理进程间的通信。,4.A,ndroid,系统的四大组件,备注:,任何时候当,Android,系统收到一个需要某个组件进行处理的请求的时候,,Android,会确保处理此请求的组件的宿主进程是否已经在运行,如果没有,则立即启动这个进程,当请求的组件的宿主进程已经在运行,它会继续查看请求的组件是否可以使用,如果不能立即使用,它会创建一个请求的组件的实例来响应请求。,5.Android,的系统包,开发,Android,应用程序基本上使用的都是,Java,语言。那么要想灵活的应用这一系统,就应当熟悉其中的,Android Java,包的各种功能。一般的,JAVA,应用中,如果需用引用基础类库,通常需要使用如下的方式:,import javax.swing.*;,以上代码表示了引用,JAVA,的,GUI,组件,Swing,,,javax.swing,即,JAVA,中的一个包。,Adroid,提供一些扩展的,JAVA,类库,类库分为若干个包,每个包中包含若干个类。例如:在,Android,中计算器是一个相对简单的程序,其入口程序文件为,Calculator.java,5.Android,的系统包,Android.app:,提供高层的程序模型,提供基本的运行环境。,Android.content:,包含各种对设备上的数据进行访问和发布的类。,Android.database:,通过内容提供者浏览和操作数据库。,Android.graphics:,底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上。,Android.location:,定义,android,的位置和相关服务的类。,Android.media:,提供一些管理多种音频,视频的媒体接口。,A,:提供帮助网络访问的类,除了普通的,.*APIs.,Android.animation:,提供动画系统的功能属性。,5.Android,的系统包,Android.app:,包含高层次的类,封装整体的,android,应用程序模型。,Android.appwidget:,包含必要的组件,以创建“应用程序部件”,用户可以嵌入在其他应用程序快速访问应用程序的数据和服务,而无需启动一个新的活动。,Android.bluetooth,:提供管理类蓝牙功能,如扫描设备,连接的设备,管理设备之间的传输数据。,Android.drm,:提供管理,DRM,内容和确定,DRM,插件的类。,Android.mtp,:提供,API,,让你直接交互连接相机和其他的设备。,Android.nfc,:提供,NFC,功能,允许应用程序读取,NFC,标签,NDEF,的消息。,5.Android,的系统包,Android.opengl,:提供,OpenGL ES,的静态接口。,Android.os:,提供基本的操作系统服务,消息传递,设备上的进程间通信。,Android.preference:,提供管理应用和,UI,的类。,Android.provider,:提供类访问,android,提供的内容提供商。,Android.sax,:一个框架,可以很容易地编写高效和文件的,SAX,处理程序。,Android.test,:编写,android,的测试案例和框架。,Android.text,:提供用于渲染或者跟踪屏幕上的文字和文字跨度类。,5.Android,的系统包,Android.util,:涉及工具性的方法,例如时间日期的操作,Android.view,:提供公开处理屏幕布局和与用户的交互的基本用户界面类。,Android.webkit,:默认浏览器操作接口。,Android.widget,:包含各种,UI,元素(大部分是可见的)在应用程序的屏幕中使用,Its over,Thank you,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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