Android 简明教程

Android - Architecture

Android 操作系统是一个软件组件堆栈,大致分为五个部分和四层主要层,如下面的体系结构图所示。

architecture

Linux kernel

底层是 Linux - Linux 3.6,有大约 115 个补丁。它提供了一个设备硬件间的抽象层,并包含所有必要的硬件驱动,如摄像头、键盘、显示器等。此外,内核处理 Linux 真正擅长的所有事情,例如网络和大量设备驱动,它们消除了与外围硬件交互的麻烦。

Libraries

在 Linux 内核的顶部是一组库,包括开源的浏览器引擎 WebKit、著名的 libc 库、SQLite 数据库(这是存储和共享应用程序数据的一个有用存储库)、播放和录制音频和视频的库、负责 Internet 安全的 SSL 库等。

Android Libraries

此类别涵盖那些特定于 Android 开发的基于 Java 的库。此类别中的库示例包括应用程序框架库以及有助于用户界面构建、图形绘制和数据库访问的库。可供 Android 开发者使用的某些关键核心 Android 库摘要如下:

  1. android.app - 提供对应用程序模型的访问,是所有 Android 应用程序的基石。

  2. android.content - 方便应用程序和应用程序组件之间进行内容访问、发布和消息传递。

  3. android.database - 用于访问内容提供者发布的数据,并包含 SQLite 数据库管理类。

  4. android.opengl - 用于 OpenGL ES 3D 图形呈现 API 的 Java 接口。

  5. android.os - 向应用程序提供对标准操作系统的访问,包括消息、系统服务和进程间通信。

  6. android.text - 用于在设备显示屏上呈现和处理文本。

  7. android.view - 应用程序用户界面的基本构建模块。

  8. android.widget - 按钮、标签、列表视图、布局管理器、单选按钮等预制用户界面组件的丰富集合。

  9. android.webkit - 一组类,旨在允许在应用程序中构建 Web 浏览功能。

在涵盖了 Android 运行时中的基于 Java 的核心库后,现在应该将注意力转向 Android 软件堆栈这一层中包含的基于 C/C++ 的库。

Android Runtime

这是架构的第三部分,位于自底部的第二层上。此部分提供了一个称为 Dalvik Virtual Machine 的关键组件,它是一种专门为 Android 设计和优化的 Java 虚拟机。

Dalvik VM 利用了 Java 语言固有的 Linux 核心特性,如内存管理和多线程。Dalvik VM 使每个 Android 应用程序都能在其自己的进程中运行,并拥有其自己的 Dalvik 虚拟机实例。

Android 运行时还提供了一组核心库,从而使 Android 应用程序开发人员可以使用标准 Java 编程语言编写 Android 应用程序。

Application Framework

应用程序框架层以 Java 类形式向应用程序提供许多高级服务。允许应用程序开发人员在其应用程序中使用这些服务。

Android 框架包括以下关键服务 −

  1. Activity Manager - 控制应用程序生命周期和活动堆栈的所有方面。

  2. Content Providers - 允许应用程序与其他应用程序发布数据和共享数据。

  3. Resource Manager - 访问非代码嵌入资源,如字符串、颜色设置和用户界面布局。

  4. Notifications Manager - 允许应用程序向用户显示警报和通知。

  5. View System - 用于创建应用程序用户界面的可扩展视图集。

Applications

在顶层,你会发现所有 Android 应用程序。你将编写应用程序,仅安装在此层。此类应用程序的示例包括联系人簿、浏览器、游戏等。