学习目标
Service的概念
什么是Service?
Service(服务)是Android系统中4大组件之一。通过启动一个Service,可以在不显示界面的前提下在后台运行指定的任务,这样可以不影响用户做其他事情。一般使用Service为应用程序提供一些服务,或不需要界面的功能,例如,从Internet下载文件、控制Video播放器等。
。
Service的特点
什么情况下使用Service?
Service是Android中与Activity最相似的组件,它们都代表可执行的程序,两者的区别是:Service一直在后台运行,没有用户界面。因此,在程序中Activity与Service的选择标准是:如果某个程序组件需要在运行时向用户呈现某种界面,或则该程序需要与用户交互,就需要使用Activity,否则就应该考虑使用Service。
Service的分类
Service主要分为以下两类:
Started(启动):
当应用程序组件(如Activity)通过调用startService()方法启动服务时,服务处于started状态。
一旦启动,服务能在后台无限期运行,即使启动它的组件已经被销毁(直到Android系统关闭)。通常,启动服务执行单个操作并且不会向调用者返回结果。例如,它可能通过网络下载或者上传文件,如果操作完成服务会自动停止。
Bound(绑定):
当应用程序组件通过bindService()方法绑定到服务时,服务处于bound状态。
绑定服务提供客户端-服务器接口,以允许组件与服务进行交互、发送请求、获得结果,设置使用进程间通信(IPC)跨进程完成操作。仅当其他应用程序组件与之绑定时,绑定服务才运行。多个组件可以一次绑定到一个服务上,当它们都解绑定,服务被销毁。或者访问者一旦退出,服务被销毁。
Service与Activity相似,只是缺少界面,因此包含:
一个继承自Service的类
AndroidManifest.xml清单文件中注册
Service的创建和配置
public class MusicPlayService extends Service {
public IBinder onBind(Intent intent) { return null;}
public void onCreate() { super.onCreate();}
}
Service的常用方法
为了创建服务,开发人员需要创建Service类(或其子类)的子类。在实现类中,需要重写一些处理服务生命周期重要方面的回调方法并根据需要提供组件绑定到服务的机制。需要重写的重要回调方法如下
onStartCommand()
onBind()
onCreate()
onDestroy()
知识点小结
通过今天学习了:
1.什么是Service
2.Service的分类
3.Service的常用方法
4.如何创建和配置Service
感谢您的学习