android----service服务

Android平台中的服务组件没有可是的界面,他主要用于后台服务,如背景音乐的播放、从互联网上下载文件等。服务组件与用户的交互需要通过Activity组件进行桥接,服务组件的使用有两种方式,如下图所示:

第一种方式是Activity调用服务组件,除了启动与停止服务之外,Activity无法与服务组件进行交互。这种方式通过startService方法启动一个服务,这个服务会一直存在与后台。第二种方式是通过Activity与服务组件使用绑定的方式进行连接的,连接成功后,Activity可以通过服务接口与服务组件进行通信,通过bindService方法连接。启动Service的方式也可以是第一种与第二种混合的方式。

关于Service的生命周期

1)startService()后,即使调用startService()方法的进程结束了,该Service仍然存在,即Activity无法与服务组件交互,直到有进程调用stopService()或者Service自己自杀stopSelf();

2)bindService()后,Service就和调用bindService()方法的进程同生共死;

3)两种方式混合使用时,即Activity A调用了startService()启动了该服务,Activity B调用了bindService()绑定了该服务,那么,只有当A调用stopService(),而且B调用了unbindService()时,服务才真正结束。

在Activity中启动服务时,同样需要定义Intent对象,该意向包含服务组件的信息,停止服务时也需要意向。与Activity组件一样,服务组件的定义也要遵循Android应用程序的框架,所有的服务组件必须继承与父类:Service,子类通过重载父类的方法来实现其特性。子类必须实现的方法是onBind(),还有两个重要的方法需要覆盖onCreate()、和onDestory()方法,和Activity一样,在创建和销毁Service时需要回调这两个方法。如果使用bindService()启动一个服务,那么Service就会回调onBind()方法。

 

 

转载于:https://www.cnblogs.com/mmy0925/archive/2013/01/16/2863136.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值