what:
Interface definition language,
function:
aidl可以定义并实现进程通信
how:
实现你定义aidl接口中的内部抽象类Stub,public static abstract class Stub extends android.os.Binder implements com.cao.android.demos.binder.aidl.AIDLService
Stub类继承了Binder,并继承我们在aidl文件中定义的接口,我们需要实现接口方法
③将服务的 aidl 放到对应的 src 目录,工程的 gen 目录会生成相应的接口类
我们通过 bindService (Intent,ServiceConnect ,int)方法绑定远程服务,在 bindService 中有一个
ServiceConnec 接口,我们需要覆写该类的 onServiceConnected(ComponentName,IBinder)方法,这个方法的第
二个参数 IBinder 对象其实就是已经在 aidl 中定义的接口, 因此我们可以将 IBinder 对象强制转换为 aidl 中的接口类。
我们通过 IBinder 获取到的对象(也就是 aidl 文件生成的接口)其实是系统产生的代理对象,该代理对象既可以
跟我们的进程通信,又可以跟远程进程通信,作为一个中间的角色实现了进程间通信