详细说明Android SDK设计目标


  本文标签:Android SDK

  一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合,这种Android SDK 安全性有助于减少恶意应用程序损害设备的可能性  。

  如前所述,Android 运行在 Linux 内核上  。Android 应用程序是用 Java 编程语言编写的,它们在一个虚拟机(VM)中运行  。需要注意的是,这个 VM 并非您想象中的 JVM,而是 Dalvik Virtual Machine,这是一种开源技术  。每个 Android 应用程序都在 Dalvik VM 的一个实例中运行,这个实例驻留在一个由 Linux 内核管理的进程中,如下图所示:

Linux 内核管理

   Android 应用程序由一个或多个组件组成:

  具有可视 UI 的应用程序是用活动实现的  。当用户从主屏幕或应用程序启动器选择一个应用程序时,就会开始一个动作  。服务应该用于任何需要持续较长时间的应用程序,例如网络监视器或更新检查应用程序  。内容提供程序可以将内容提供程序看作数据库服务器  。

  内容提供程序的任务是管理对持久数据的访问,例如 SQLite 数据库  。如果应用程序非常简单,那么可能不需要创建内容提供程序  。如果要构建一个较大的应用程序,或者构建需要为多个活动或应用程序提供数据的应用程序, 那么可以使用内容提供程序实现数据访问  。

  广播接收器Android 应用程序可用于处理一个数据元素,或者对一个事件(例如接收文本消息)做出响应  。Android 应用程序是连同一个 AndroidManifest.xml 文件一起部署到设备的  。AndroidManifest.xml 包含必要的配置信息  。

  以便将它适当地安装到设备  。它包括必需的类名和应用程序能够处理的事件类型,以及运行应用程序所需的许可  。例如,如果应用程序需要访 问网络 — 例如为了下载一个文件 — 那么 manifest 文件中必须显式地列出该许可  。很多应用程序可能启用了这个特定的许可  。这种声明式安全性有助于减少恶意应用程序损害设备的可能性  。

  下一节讨论构建 Android 应用程序所需的开发环境  。所需的工具虽然没有 Eclipse 和 Android Developer Tools 插件也可以开发 Android 应用程序,但是那样就需要熟悉 Android SDK  。

  Android SDK 是作为一个 ZIP 文件发布的,可以将该文件解压到硬盘上的一个目录中  。由于有多个 SDK 更新,建议有意识地组织开发环境,以便在不同的 SDK 安装之间轻松地切换  。SDK 包括:Java 归档文件,其中包含构建应用程序所需的所有的 Android SDK 类  。documention.html 和 docs 目录本地和网上提供的 SDK 文档  。

  这些文档的主要形式为 JavaDocs,以便于在 SDK 中导航大量的包  。文档还包括一个高级开发指南和 Android 社区的链接  。samples 子目录包含各种应用程序的源代码,包括 ApiDemo,该应用程序演示了很多 API  。这个示例应用程序可以作为 Android 应用程序开发的良好起点  。

  包含所有用于构建 Android 应用程序的命令行工具  。最常用、最有用的工具是 adb 实用程序(Android Debug Bridge)  。该目录包含将开发环境连接到支持 Android 的设备(例如 G1 或 Android Dev 1 解锁开发手机)所需的驱动程序  。只有 Windows 平台的开发人员才需要这些文件  。