图 2. Dalvik VM
Android 应用程序由一个或多个组件组成:
- 活动
- 具有可视 UI 的应用程序是用活动实现的。当用户从主屏幕或应用程序启动器选择一个应用程序时,就会开始一个动作。
- 服务
- 服务应该用于任何需要持续较长时间的应用程序,例如网络监视器或更新检查应用程序。
- 内容提供程序
- 可以将内容提供程序看作数据库服务器。内容提供程序的任务是管理对持久数据的访问,例如 SQLite 数据库。如果应用程序非常简单,那么可能不需要创建内容提供程序。如果要构建一个较大的应用程序,或者构建需要为多个活动或应用程序提供数据的应用程序,那么可以使用内容提供程序实现数据访问。
- 广播接收器
- Android 应用程序可用于处理一个数据元素,或者对一个事件(例如接收文本消息)做出响应。
Android 应用程序是连同一个 AndroidManifest.xml 文件一起部署到设备的。AndroidManifest.xml 包含必要的配置信息,以便将它适当地安装到设备。它包括必需的类名和应用程序能够处理的事件类型,以及运行应用程序所需的许可。例如,如果应用程序需要访问网络 — 例如为了下载一个文件 — 那么 manifest 文件中必须显式地列出该许可。很多应用程序可能启用了这个特定的许可。这种声明式安全性有助于减少恶意应用程序损害设备的可能性。
下一节讨论构建 Android 应用程序所需的开发环境。
所需的工具
开始开发 Android 应用程序的最简捷的方式是下载 Android SDK 和 Eclipse IDE(参见 参考资料)。Android 开发可以在 Microsoft® Windows®、Mac OS X 或 Linux 上进行。
本文假设您使用的是 Eclipse IDE 和用于 Eclipse 的 Android Developer Tools 插件。Android 应用程序是用 Java 语言编写的,但是是在 Dalvik VM(非 Java 虚拟机)中编译和执行的。在 Eclipse 中用 Java 语言编程非常简单;Eclipse 提供一个丰富的 Java 环境,包括上下文敏感帮助和代码提示。Java 代码通过编译后,Android Developer Tools 可确保适当地将它打包,包括 AndroidManifest.xml 文件。
虽然没有 Eclipse 和 Android Developer Tools 插件也可以开发 Android 应用程序,但是那样就需要熟悉 Android SDK。
Android SDK 是作为一个 ZIP 文件发布的,可以将该文件解压到硬盘上的一个目录中。由于有多个 SDK 更新,建议有意识地组织开发环境,以便在不同的 SDK 安装之间轻松地切换。SDK 包括:
- android.jar
- Java 归档文件,其中包含构建应用程序所需的所有的 Android SDK 类。
- documention.html 和 docs 目录
- 本地和网上提供的 SDK 文档。这些文档的主要形式为 JavaDocs,以便于在 SDK 中导航大量的包。文档还包括一个高级开发指南和 Android 社区的链接。
- Samples 目录
- samples 子目录包含各种应用程序的源代码,包括 ApiDemo,该应用程序演示了很多 API。这个示例应用程序可以作为 Android 应用程序开发的良好起点。
- Tools 目录
- 包含所有用于构建 Android 应用程序的命令行工具。最常用、最有用的工具是 adb 实用程序(Android Debug Bridge)。
- usb_driver
- 该目录包含将开发环境连接到支持 Android 的设备(例如 G1 或 Android Dev 1 解锁开发手机)所需的驱动程序。只有 Windows 平台的开发人员才需要这些文件。
Android 应用程序可以在实际的设备上运行,也可以在 Android SDK 附带的 Android Emulator 上运行。图 3 显示 Android Emulator 的主屏幕。
图 3. Android Emulator
Android Debug Bridge
adb 实用程序支持一些可选命令行参数,以提供强大的特性,例如复制文件到设备或从设备复制文件。可以使用 shell 命令行参数连接到手机本身,并发送基本的 shell 命令。图 4 显示在通过 USB 线连接到 Windows 笔记本电脑的一个实际设备上运行的 adb shell 命令。
图 4. 使用 adb shell 命令
在这个 shell 环境中,可以:
- 显示网络配置,网络配置可显示多个网络连接。注意这多个网络连接:
- lo 是本地或 loopback 连接。
- tiwlan0 是 WiFi 连接,该连接由本地 DHCP 服务器提供一个地址。
- 显示 PATH 环境变量的内容。
- 执行 su 命令,以成为超级用户。
- 将目录改为 /data/app,其中存放用户应用程序。
- 列出包含某个应用程序的目录。Android 应用程序文件实际上是归档文件,可通过 WinZip 之类的软件查看。扩展名为 apk。
- 发出 ping 命令,查看 Google.com 是否可用。
从相同的命令提示符环境中,还可以与 SQLite 数据库交互,启动程序以及执行许多其他系统级任务。想像一下您正在连接到电话,因此这是非常了不起的功能。
在下一节,您将创建一个简单的 Android 应用程序。
时间:2009-06-09 15:08
来源:developerWorks 中国
作者:Frank Ableson
原文链接
好文,顶一下
(2)
66.7%
文章真差,踩一下
(1)
33.3%
------分隔线----------------------------
把开源带在你的身边-精美linux小纪念品
|