aidl原理和使用方法?
AIDL(Android Interface Define Language)是一种IPC通信方式,我们可以利用它来定义两个进程相互通信的接口。他是基于Service实现的一种线程间通信机制。它的本质是C/S架构的,需要一个服务器端,一个客户端。
首先我们在AndroidStudio中创建一个Andorid工程,
随后添加一个module,作为aidl的服务端
在aidlserver中创建aild目录, 同时创建一个aidl文件
这边可以看到aidl的语法跟JAVA是一样的,声明了一个接口,里面定义了aidl服务器端暴露给客户端调用的方法。 完成这部分操作之后还没有结束,我们需要手动编译程序,生成aidl对应的Java代码
我们创建了一个service,并在service内部声明了一个IBinder对象,它是一个匿名实现的IMyAidlInterface.Stub的实例(这部分我们后面讲),同时我们在发现IMyAidlInterface.Stub实例实现了add方法,这个方法正是我们在aidl中声明的供客户端调用的方法。