初步概括Android Service 功能
创始人
2024-06-23 00:00:24
0

本文向大家介绍Android Service ,可能好多人还不了解Android Service的服务的种种特性,没有关系,看完本文你肯定有不少收获,掌握了Android Service 这们服务会使我们的编程工作更简单和更轻松。

常见的例子:media player 从播放列表播放音乐,播放器有一些activities来叫用户选定歌曲并开始播放。但是,播放本身不需要activity处理,因为用户希望关闭activity后歌曲会继续播放。

因此media player 的activity 会启动一个service 。当用户离开窗体后,系统还可以保持歌曲的播放。可以与正在运行的service通信或者启动一个service 。与service通信依赖于service公开的接口。例如音乐播放,接口可能允许用户暂停、启动、停止、继续播放列表。

象activities和其他组件一样,Android Service 运行在应用程序的主线程。因此他们不会阻塞其他的组件或者用户界面。可以在服务中启用另外的线程来做耗时的工作,如音乐播放。请参见Processes and Threads.

Broadcast receivers
Android Service 是一个接收并处理广播通知(broadcast announcements)的组件。多数的广播是系统发起的。如地域变幻、电池电量不足、图片获取、语言转换。程序也可以初始化一个广播,例如让其他的程序知道他们需要的某些数据被下载了。(注:通知广播即事件)

程序可以有任意数量的broadcast receivers 来相应它觉得重要的通知。所有的receivers 继承自 BroadcastReceiver 类。Broadcast receivers 不会显示用户界面,但是他们可能启动一个activity 来相应收到的通知。

或者使用 NotificationManager 通知用户。 可以通过多种方式通知用户-开启背景灯、振动设备、播放声音等。最典型的是在状态栏显示一个图标,这样用户就可以点它打开看通知内容。

Content providers
Android Service 创建其他程序使用的数据集。数据可以存在系统的SQLite数据库或者其他地方。content provider 继承自 ContentProvider 类。

实现一组标准的方法,来使其他程序可以存取数据。但是,程序并不是直接调用这些方法,而是使用ContentResolver 对象来调用这些方法。ContentResolve的作用是管理provider和程序之间的多进程交互。

请参见 Content Providers 文档。
只要有需要调用特定组件的需求,Android就需要确保组件的程序进程正在运行,如果组件的线程没有启动,还要启动所需的进程。如果所需组件没有初始化,Android也会把它初始化。

当ContentResolver 发起一个请求的时候Content providers 激活. 另外三个组件: — activities, services, 和 broadcast receivers — 被叫做intents的异步的消息激活。intent 是一个保持了消息信息的 Intent 对象。对于activities 和 services,它传送了被请求的数据和特定的URI。

例如,它可能传达一个请求,叫activity来呈现一个图片或者叫用户编辑某段文本。对于broadcast receivers,Internt对象传送了通知的动作。例如,它可能通知相机的按钮被按下。

【编辑推荐】

  1. Android应用程序组建原理深入剖析
  2. Android SMS短信服务相关概念简述
  3. PythonAndroid数据库相关代码解读
  4. PythonAndroid安装卸载程序具体操作方法解析
  5. Android应用程序的四个关键点

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...