什么是 AIDL 以及如何使用
2024-08-28 21:33:04
①aidl 是 Android interface definition Language 的英文缩写,意思 Android 接口定义语言。
②使用 aidl 可以帮助我们发布以及调用远程服务,实现跨进程通信。
③将服务的 aidl 放到对应的 main/aidl目录下,工程的 gen 目录会生成相应的接口类
我们通过 bindService (Intent,ServiceConnect ,int)方法绑定远程服务,在 bindService 中有一个ServiceConnec 接口,我们需要覆写该类的 onServiceConnected(ComponentName,IBinder)方法,这个方法的第二个参数 IBinder 对象其实就是已经在 aidl 中定义的接口, 因此我们可以将 IBinder 对象强制转换为 aidl 中的接口类。我们通过 IBinder 获取到的对象(也就是 aidl 文件生成的接口)其实是系统产生的代理对象,该代理对象既可以跟我们的进程通信,又可以跟远程进程通信,作为一个中间的角色实现了进程间通信。
最新文章
- 弄清UTF8和Unicode
- Mybatis-动态 SQL
- Language
- [编辑器] Tab转换成空格
- partial(C# 参考)
- [leetcode]_K Sum 问题
- Python3 学习第六弹: 迭代器与生成器
- 使用WM_COPYDATA跨进程发送数据
- Android编译提示ImportError: No module named bz2的解决办法
- Windows下通过脚本快速修改IP地址
- 灵动标签的使用方法 ecms通过运行sql获取须要的记录
- HTML5的文档结构
- JavaScript HTML DOM 元素(节点)
- php解决表单重复提交
- Implement int sqrt(int x).
- 基于ROS完成寻迹运动
- STM32-跑马灯实验
- Windows 7 64bit VS2015 配置CUDA
- redis内存不够 : OOM command not allowed when used memory >; ‘maxmemory’
- linux 查看信息-磁盘分区&;网络