background image

Android 平台下的四大组件详解之 Services

Android 平台首先就是其开放性,开放的平台允许任何移动终端厂商加入

Android 联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和

应用的日益丰富,一个崭新的平台也将很快走向成熟。

    开放性对于 Android 的发展而言,有利于积累人气,这里的人气包括消费者
和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。

    Android 手机操作系统是一款开源的系统。对编程有所了解的朋友们可以通
过各种编写方式来使这款系统应用于手机中来满足各种需求。下面我们将会对
Android 组件的一些概念进行一个总结,以方便大家的学习。

Android 的一个核心特性就是,一个应用程序能利用另外应用程序的元素

(假如这些应用程序允许这样做)。举个例子,如果你的程序需要展示一个可以
滚动的图片列表,正好有另外一个程序已经有这样一个合适的滚动条并且也允
许其他程序使用,那么你就可以使用这个滚动条来完成你的工作,而不是开发
你自己的。你的应用不需要内含其他应用的代码或者连接到他。相反,它只是
简单的启动了需要的部分。
    为了让这个特性能够工作,系统必须能够实现运行一个部分组件被需要的应
用,并为那个部分实例化一个

Java 对象。因此,与大多数系统上的应用不一样,

Android 应用没有为应用中的任何部分提供一个单一的入口(比如说,没有
main()函数)。相反的,他们用系统能实例和运行的本质组件。

Android4

Services

    服务不需要可视化的用户界面,相反在一段不确定的时间段里运行在后台。
举例,当用户在处理其他问题时,服务可以播放背景音乐,或者他可以从网上
获取数据,计算,提高,提供给活动所需要的结果。每个服务继承于服务基类。

    一个基本的例子就是媒体播放器播放列表中的歌曲。播放应用程序可能会有
一个或多个活动,允许用户选择歌曲并播放它们。但是,音乐回放不会被一个
活动处理,因为用户期望音乐在他们离开这个播放程序界面后仍能播放。为了
满足这个要求,这个播放活动应该开启一个在后台运行的服务。系统就能继续
播 放 音 乐 , 即 使 用 户 选 择 播 放 音 乐 后 离 开 了 这 个 界 面 。

    可以实现连接到(绑定到)一个正在运行的服务(也可以开启一个当前没有
运行的服务)。连接之后,你可以通过系统给出的一个接口与这个服务进行通
信。对于这个音乐服务,这个借口可以允许用户去暂停,倒退,停止,重放和