1 / 14
文档名称:

Android开发教程 第二章.doc

格式:doc   页数:14页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Android开发教程 第二章.doc

上传人:ffy51856fy 2016/6/19 文件大小:0 KB

下载得到文件列表

Android开发教程 第二章.doc

相关文档

文档介绍

文档介绍:Android 开发教程第二章本文由 hub128 贡献 pdf 文档可能在 WAP 端浏览体验不佳。建议您优先选择 TXT ,或下载源文件到本机查看。 Android 的系统架构 11 1第2章基本概念 23 现在, 读者已经了解了 Android 是什么, 接下来我们再看看它是如何工作的。你可能对 Android 的某些部分很熟悉,如 Linux 内核、 OpenGL 和 SQL 数据库, 但对其他部分可能还一无所知,如 Android 中应用程序生命周期的概念。要编写出功能良好的 Android 应用程序,需要很好地理解本章介绍的这些基本概念。所以,如果你只想阅读本书中的一章,则非本章莫属。 45 Android 的系统架构我们首先看看 Androi d 的总体系统架构——组成 Androi d 开源软件栈的关键层和组件。图 2-1 展示了完整的 Android 系统构架图, 请读者仔细研究一下这张图, 明天我们要考你的哦。图中的每一层都使用下面各层所提供的服务。以下几节主要介绍 Android 中的各个层(从最下面的层开始) 。 678 Linux 内核 Android 构建在一个稳定且得到广泛认可的基础之上: Linux 内核。 199 1年, 还是赫尔辛基大学学生的 Linus Torvald s 开发了 Linu x 内核。现在, Linux 可以说是无所不在, 从手表到超级计算机中都能找到它的身影。 Linux 为 Android 提供了硬件抽象层,以便将来把 Androi d 移植到更多的平台上。从内部来看, Androi d使用 Linu x 完成其内存管理、进程管理、网络和其他操作 9 16 12 第2章基本概念系统服务工作。 Android 手机用户永远也不会看到 Linux ,程序也不会直接进行 Linux 调用。但是作为开发人员,你需要知道 Linux 在 Android 中的用途。应用程序主程序应用程序框架活动管理器软件包管理器库界面管理器媒体框架窗口管理器电话管理器内容提供者资源管理器视图系统位置管理器通知管理器传感器管理器联系人电话浏览器其他应用程序 Android 运行时 SQLite Webkit libc 核心库 OpenGL|ES SGL Linux 内核显示驱动程序键盘驱动程序 FreeType SSL Dalvik 虚拟机蓝牙驱动程序 USB 驱动程序相机驱动程序 WiFi 驱动程序闪存卡驱动程序音频驱动程序 Binder (IPC) 驱动程序电源管理图 2-1 Android 系统架构①开发期间需要的某些实用程序要和 Linux 打交道。例如, adb shell 命令将打开一个 Linux 命令行窗口, 从中可以输入要在设备上运行的其他命令。例如,可以通过这个命令行窗口来检查 Linux 文件系统、查看活动的进程等。 本机库 Linux 内核层上面的一层中包含了 Android 的本机库。这些共享库都是用 C或 C++ 语言编写的,并且针对电话使用的特定硬件架构进行了编译, 并已由手机制造商预先安装到手机中。其中最重要的一些库包括下面 5 个部分。界面管理器( Surface Manager )。 Androi d 使用与 Vist pi z 类似的组合窗口管理器,但是它要更简单一些。它并不是将显示内容直接绘制到屏幕缓①参见网页 http://code./android/reference/ 。 Android 的系统架构 13 冲区中,而是将绘制命令传递给屏幕外的位图, 然后将该位图与其他位图组合起来,形成用户看到的显示内容。这种方法允许系统实现所有有趣的效果,如透明的窗口和奇特的过渡效果。 2D和 3D 图形。使用 Android 时, 二维和三维元素可结合到一个用户界面中。 1 库将使用 3D 硬件( 如果设备上有的话) 或者快速软件渲染器(如果没有 3D 硬件设备)。参见第 4 章和第 10章。 Android 可播放视频内容, 媒体编解码器。并可用各种格式录制和播放音频, 这些格式包括 AAC 、 AVC ( )、 、 MP3 和 MPEG-4 。参见第 5章中相关的示例。 SQL 数据库。 Android 提供了轻量级的 SQLite 数据库引擎, Firefox 和苹果的①23 iPhone 中使用的也是该数据库引擎。使用该引擎可在应用程序中持续存储。参见第 9 章中相关的示例。 Android 使用了 WebKi t 库。 Google 浏览器引擎。为保证快速显示 HTML 内容, Chrom e 浏览器、苹果的 Safari 浏览器、苹果 iPhone 和诺基亚的 S60