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)之间,二者就可以通信了。