Android Service :利用Binder实现通信
AIDL是什么
AIDL是Android Interface Definition Language, 即Android接口定义语言。
Android通过AIDL文件,把Service的接口公布出来,以便Client可以通过接口和Service进行通信
如何利用Binder现实Service、Client通信
之前打过比喻,Service好比是一个岛,Client是大陆,岛(Service)和大陆(Client)的通信,是通过桥梁(Binder)实现的。
那么是怎么通过Binder来实现Service和Client之间的通信呢?
- 建造桥梁,建立aidl文件,将Service接口公布出来;
- 将桥梁架设在岛上,在Service端,实现aidl的接口,并返回Binder;
- 将桥梁架设在大陆上,在Client端,绑定Service,通过返回的Binder获得Service。;
通过上面的三步,就将桥梁(Binder)架设在岛(Service)和大陆(Client)之间,二者就可以通信了。
利用Binder进行Service、Client通信
通过上面知道,利用Binder实现Service、Cilent通信,基本上分三步:
- 新建一个AIDL文件,定义Serivce需要对外公布的接口;
- 在Service端,实现AIDL的接口,并在被绑定的时候返回Binder;
- 在Client端,绑定Service,在成功绑定之后,通过返回的Binder获得Servic

本文介绍了Android中Service利用Binder实现通信的过程。通过AIDL定义接口,Service端实现接口并返回Binder,Client端绑定Service获取Binder以进行通信。详细步骤包括创建AIDL文件、Service端接口实现和Client端的绑定操作。
最低0.47元/天 解锁文章
5万+

被折叠的 条评论
为什么被折叠?



