background image

Android 开发基础之 Application 组件

Android 应用程序开发简介

Android 应用程序用 Java 做为开发语言。aapt 工具把编译后的 Java 代码连同其它应用程

序需要的数据和资源文件一起打包到一个

Android 文件包中,这个文件使用.apk 做为扩展

名,它是发布应用程序并安装到移动设备的媒介,用户只需下载并安装此文件到他们的设
备即可。单个

.apk 文件中的所有代码被看作是一个应用程序。

从很多方面来看,每个

Android 应用程序都存在于它自己的世界之中:

◆默认情况下,每个应用程序均运行于它自己的 Linux 进程中。当任一应用程序开始执

行时,

Android 启动一个进程,而当应用程序不再需要此进程而其它应用程序又需要系统资

源时,则关闭这个进程。

◆每个进程都运行于自己的 Java 虚拟机(VM)中。所以应用程序代码实际上与其它应

用程序的代码是隔离的。

◆默认情况下,每个应用程序均被赋予一个唯一的 Linux 用户 ID,并加以权限设置,

使得那个应用程序的文件仅对这个用户、这个应用程序可见。当然,也有其它的方法使得这
些文件同样能被别的应用程序所访问。

可以让两个应用程序共有同一个用户

ID,这种情况下他们可以看到彼此的文件。为了

保护系统资源,拥有同一个

ID 的应用程序将运行在同一个 Linux 进程,以及同一个虚拟机

之中。

Android 应用程序开发的核心:Application 组件

Android 的核心功能之一就是一个应用程序可以使用其它应用程序的元素(如果那个应

用程序允许的话)。比如说,如果你的应用程序需要一个图片滚动列表,而另一个应用程序
已经开发了一个合适、而且又允许别人使用的相同列表,可以直接调用那个滚动列表来实现
功能,而不用自己再开发一个。而应用程序并没有包含或链接其它应用程序的代码,它只是
在需要时启用了其它应用程序的那部分功能而已。

为达到这个目的,系统必须在一个应用程序的一部分需要时启动这个应用程序,并将

那部分的

Java 对象实例化。与其它系统上的应用程序不同,Android 应用程序没有为应用程

序提供单独的程序入口(比如说,没有

main()方法), 相反,而是提供了一些核心组件,

系统可以在需要时实例化,运行这些组件。共有四种组件类型:

Activity(活动)