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

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

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

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

为了让这个特性能够工作,系统必须能够实现运行一个部分组件被需要的应用,并为那个部分实例化一个Java对象。因此,与大多数系统上的应用不一样,Android应用没有为应用中的任何部分提供一个单一的入口(比如说,没有main()函数)。相反的,他们用系统能实例和运行的本质组件。

下面我们将介绍

Android4大组件之Services

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

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

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

就像活动和其他的组件,服务运行在应用程序进程中的主线程中。因此,他们不会阻塞到其他组件或者用户界面,服务通常会生成其他线程用来做那些耗时间的任务(就像音乐播放一样)。

原文:3G开发者论坛

www.1mpi.com

你可能喜欢

  • android四大组件
  • Android程序开发
  • android源码
  • linux内核
  • android程序
  • Android开发教程
  • Android开发笔记
  • Java笔记

Android平台下的四大组件详解之Services相关文档

最新文档

返回顶部