一起Talk Android吧(第一百九十六回:Android中的Service三)

各位看官们大家好,上一回中咱们说的是Android中service的例子,这一回咱们继续说该例子。闲话休提,言归正转。让我们一起Talk Android吧!

看官们,我们在上一回是通过具体的代码演示了如何启动和停止服务,这一回中我们将介绍如何绑定服务。有看官问为什么要绑定服务?和谁绑定?我们逐一来回答,绑定是把服务和Activity绑定在一起。其原因是方便服务和Activity之间进行通信。下面是绑定服务的具体操作步骤:

  • 1.创建服务子类以及重写四个回调函数,一定要重写onBind方法;
  • 2.自定义Binder类型的子类,在类中可以提供一些方法去完成某件事情,这个事情就是服务的核心功能,比如后台播放音乐,后台下载等;
  • 3.创建Binder子类对象,并且在重写onBind方法时返回该对象;
  • 4.自定义一个类并且实现ServiceConnection接口;在类中重写onnServiceConnected和onServiceDisconnected方法:
  • 5.创建步骤4中自定义类的对象,以便绑定和解绑定服务时使用;
  • 6.绑定和解绑服务;这两个操作通过context的bindService和bindService方法就能实现;

以上是整体的步骤,不过还有一些细节需要做说明:

  • 步骤4中onServiceConnected(ComponentName name, IBinder service)方法有两个参数:第一个为ComponentName类型的参数,它包含服务的类名并且在类名前面有完整的包名;第二个为IBinder类型的参数,它是Activity和service通信的通道。因为通过它可以直接调用service中的各种方法。它就是步骤3中创建服务时onBind方法中返回的哪个Bind子类型的对象。把这个对象向下转型后,就变成步骤2中子类的对象,这样就能直接使用服务中提供的方法了,这些方法是步骤2中提供的。
  • onServiceDisconnected(ComponentName name)只有一个ComponentName类型的参数。

各位看官,关于Android中Service的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值