Android系统架构
3.ANDROID的系统架构
i)Location Manager(位置管理器) 提供位置服务 j)XMPP Service(XMPP服务) 提供Google Talk服务 3)系统运行库层 从图中可以看出,系统运行库层可以分成两部分,分别是系 统库和Android运行时,分别介绍如下: a)系统库 系统库是应用程序框架的支撑,是连接应用程序框架层与 Linux内核层的重要纽带。其主要分为如下几个:
3.ANDROID的系统架构
d) View System(视图系统) 构建应用程序的基本组件 e) Notification Manager(通告管理器) 使得应用程序可以在状态栏中显示自定义的提示信息 f) Package Manager(包管理器) Android系统内的程序管理 g)Telephony Manager(电话管理器) 管理所有的移动设备功能 h)Resource Manager(资源管理器) 提供应用程序使用的各种非代码资源,如本地化字符串、图 片、布局文件、颜色文件等
3.ANDROID的系统架构
b)Android runtime Android应用程序采用Java语言编写,程序在Android runtime中 执行,其运行时分为核心库和Dalvik虚拟机两部分。 核心库 核心库提供了Java语言API中的大多数功能,同时也包含了 Android的一些核心API,如android.os、、 android.media等等。 Dalvik虚拟机 Android程序不同于J2me程序,每个Android应用程序都有一个 专有的进程,并且不是多个程序运行在一个虚拟机中,而是 每个Android程序都有一个Dalvik虚拟机的实例,并在该实例
4.ANDROID系统的四大组件
4)Content provider 应用程序可以通过content provider访问其它应用程序的一些 私有数据,这是Android提供的一种标准的共享数据的机制。 共享的数据可以是存储在文件系统中、SQLite 数据库中或其 它的一些媒体中。content provider扩展自ContentProvider类, 通过实现此类的一组标准的接口可以使其它应用程序存取由 它控制的数据。然而应用程序并不会直接 调用ContentProvide r中的方法,而是通过类ContentResolver。ContentResolver能 够与任何一个 ContentProvider通信,它与ContentProvider合作 管理进程间的通信。
4.ANDROID系统的四大组件
2)Service service没有用户界面,但它会在后台一直运行。例如, service可能在用户处理其它事情的时候播放背景音乐,或者 从网络上获取数据,或者执行一些运算,并把运算结构提供 给Activity展示给用户。每个service都扩展自类Serivce。 应用程序可以连接到一个正在运行中的service。当连接到一 个service后,可以使用这个service向外暴露的接口与这个ser vice进行通信。对于上面提到的播放音乐的service,这个接口 可能允许用户暂停,停止或重新播放音乐。 与activity以及其它组件一样,service同样运行在应用程序进 程的主线程中。所以它们不能阻塞其它组件或用户界面,通 常需要为这些service派生一个线程执行耗时的任务。
4.ANDROID系统的四大组件
1)Activity 一个Activity通常展现为一个可视化的用户界面。每个Activity 都会有一个用于绘制用户界面的窗口。通常这样一个窗口会 填充整个屏幕,当然这个窗口也可以比屏幕小并漂浮在其他 窗口之上。展示Activity窗口的可视化内容区域是一些具有层 次关系的视图,而视图则是由类View的子类表示的。视图就 是Activity与用户交互的接 口。例如,一个显示图片的视图, 当用户单击的时候它可能会启动一个动作。Android有许多开 发人员可以直接使用的视图,包括按钮,文本域,滚动条, 菜 单,复选框等。 通过调用Activity.setContentView()方法来设置展现Activity的窗 口的视图。内容视图则是视图层次结构中的根节点视图。
3.ANDROID的系统架构
3.ANDROID的系统架构
从上图中可以看出,Android系统架构为四层结构,从上层到下 层分别是应用程序层、应用程序框架层、系统运行库层以及 Linux内核层,分别介绍如下: 1)应用程序层 Android平台不仅仅是操作系统,也包含了许多应用程序,诸 如SMS短信客户端程序、电话拨号程序、图片浏览器、Web 浏览器等应用程序。这些应用程序都是用Java语言编写的, 并且这些应用程序都是可以被开发人员开发的其他应用程序 所替换,这点不同于其他手机操作系统固化在系统内部的系 统软件,更加灵活和个性化。
2.ANDROID系统的优势
(2)个性化界面设置
多种插件,快捷方式 和文件夹,打造个性 化的屏幕以满足个性需求。
轻松添加,得心应手,您 可以随意更新排列主屏幕 项目
2.ANDROID系统的优势
(3)与google应用的无缝结合 由于android系统是由google主导 研发的,因此android操作系统手机 将无缝结合这些优秀的Google互联服 务,如大家熟知的Google Map, Google Search,Gmail等,在手机上都 可以使用。 支持google全方位服务,丰富最新 的网络体验。
4.ANDROID系统的四大组件
3)Broadcase receiver
broadcase receiver不执行任何任务,仅仅是接受并响应广播 通知的一类组件。大部分广播通知是由系统产生的,例如改 变时区,电池电量低,用户选择了一幅图片或 者用户改变了 语言首选项。应用程序同样也可以发送广播通知,例如通知 其他应用程序某些数据已经被下载到设备上可以使用。 broadcast receiver不包含任何用户界面。然而它们可以启动 一个activity以响应接受到的信息,或者通过 NotificationManager通知用 户。可以通过多种方式使用户知 道有新的通知产生:闪动背景灯、震动设备、发出声音等等。 通常程序会在状态栏上放置一个持久的图标,用户可以打开 这个图标并 读取通知信息。
1.关于ANDROID
2009 . 5
2009.9
2009.10
2010.1
2010.12
2011.
甜甜圈 Android1.6 Donut
松饼 Android2.0 Eclair
冻酸奶 姜饼 Android2.2 Android2.3 Froyo Gingerbread
3.ANDROID的系统架构
Surface Manager: 执行多个应用程序时候,负责管理显示与存取操作间的互动, 另外也负责2D绘图与3D绘图进行显示合成。 Media Framework: 多媒体库,基于PacketVideo OpenCore;支持多种常用的音频、 视频格式录制和回放,编码格式包括MPEG4、MP3、H.264、 AAC、ARM。 SQLite: 小型的关系型数据库引擎 OpenGL|ES: 根据OpenGL ES 1.0API标准实现的3D绘图函数库
4.ANDROID系统的四大组件
在Android中,一个应用程序可以使用其它应用程序的组件, 这是Android系统一个非常重要的特性。在需要的时候Android 会启动另外一个程序的部分代码,这部分代码实现了你请求 执行的动作的功能,而不是在你的应用程序中直接包含另外 一个应用程序的代码。为了实现这样的功能,Android系统必 须能够在其它应用程序有请求的时候启动一个应用程序进程 并实例化部分java对象。因此,Android应用程序包含一些运 行应用程序所必须的能够被Android系统实例化的组件。这些 组件主要包括以下四种类型:
3.ANDROID的系统架构
FreeType: 提供点阵字与向量字的描绘与显示 WebKit: 一套网页浏览器的软件引擎 SGL: 底层的2D图形渲染引擎 SSL: 在Android上通信过程中实现握手 Libc: 从BSD继承来的标准C系统函数库,专门为基于embedded linux的设备定制
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个字母数序:
4.ANDROID系统的四大组件
备注: 任何时候当Android系统收到一个需要某个组件进行处理的请 求的时候,Android会确保处理此请求的组件的宿主进程是否 已经在运行,如果没有,则立即启动这个进程,当请求的组 件的宿主进程已经在运行,它会继续查看请求的组件是否可 以使用,如果不能立即使用,它会创建一个请求的组件的实 例来响应请求。
3.ANDROID的系统架构
2)应用程序框架层 应用程序框架层是我们从事Android开发的基础,很多核心应 用程序也是通过这一层来实现其核心功能的,该层简化了组 件的重用,开发人员可以直接使用其提供的组件来进行快速 的应用程序开发,也可以通过继承而实现个性化的拓展。 a) Activity Manager(活动管理器) 管理各个应用程序生命周期以及通常的导航回退功能 b) Window Manager(窗口管理器) 管理所有的窗口程序 c) Content Provider(内容提供器) 使不同应用程序之间存取或者分享数据
蜂巢 Android3.0, 3.1,3.2 Honeycomb