why?
广播:实现多线程之间的通信(单向的)
Message:实现多线程之间的通信(双向的)
ContentProvider:通过URI将数据暴露给访问者(单向的)
以上二种实现了多线程通信(Message实现单线程通信),但不属于进程之间的通信,而在Android中定义了进程之间的通信AIDL;
AIDL:
当多个客户端并发一起访问时,并且需要处理多个线程的问题时,就必须用到AIDL通讯
实现方法以及步骤:
1.Android interface define language:
是Android完成进程间通讯(IPC)的一种方式
2.客户端与服务端都需要遵循相同的AIDL标准
3.服务端的激活方式可以使用隐式意图
4.当绑定服务时,返回是一个Ibinder的代理,通常可以使用AIDL的内部类Stub.asInterface()方法,将代理转换为Ibinder对象;
5.AIDL的语法规则与接口类似,但不能有任何访问的修饰符
注:运行时先运行服务端,再运行客户端