Aidl

来源:互联网 发布:电脑网络开关设置 编辑:程序博客网 时间:2024/05/23 05:10

 韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha

安卓接口定义语言

例如 a进程 要与 b进程中的 服务 实现通信。

可以在 a工程 中, 创建一个 aidl文件,在里面定义接口,然后 生成gen 目录下 会自动生成 一个 .java文件。 


然后 定义自己的 服务类, 在这个服务类 里 ,定义一个内部类,继承 这个  xxx.stub 这个内部类  xxx是根据 adil文件文件名。 这个stub内部类 实际就是 之前 生成的.java文件中所包含的一个内部类。

在 我们定义的这个内部类中  在它的 在绑定时候 方法 中 返回  这个内部类 对象, 系统会自动将这个对象 封装成  接口绑定器IBinder对象 ,传递给它的调用者。


然后 在 清单文件中 配置 服务类,

在这个服务类 下 添加  动作action  安卓:name=“xxxx”      ,xxxx就是 adil的包路径加它的文件名 ,指明了这个名字,  b进程  就能找到它 ,实现通信。


在b工程中: 把a工程中的 自动生成的.java文件 复制到 b工程里,  在绑定服务方法中 将 上面指明的那个名字 作为 意图的 动作 参数。


b工程中 要创建相应的包,保证 自动生成的.java文件的 包名 正确。


原创粉丝点击