别人问你AIDL,我来给你回答
来源:互联网 发布:美国 贫富差距 知乎 编辑:程序博客网 时间:2024/05/15 20:33
什么是AIDL以及如何使用?
aidl是Android interface definition Language 的英文缩写,意思Android 接口定义语言
作用
使用aidl可以帮助我们发布以及调用远程服务,实现跨进程通信。
使用
将服务的aidl放到对应的src目录,工程的gen目录会生成相应的接口类
我们通过 bindService(Intent,ServiceConnect,int)方法绑定远程服务,在 bindService 中有一个ServiceConnec 接口,我们需要覆写类的onServiceConnected(ComponentName,IBinder)方法,这个方法的第二个参数*IBinde**r对象其实就是已经在aidl中定义的接口,因此我们可以将Binder对象强制转换为aidl中的接口类。
我们通过IBinder获取到的对象(也就是aidl文件生成的接口)其实是系统产生的代理对象,该代理对象既可以跟我们的进程通信,又可以跟远程进程通信,作为一个中间的角色实现了进程间通信。
这个就是我的理解是不是比较清晰呢?
1 0
- 别人问你AIDL,我来给你回答
- 回答--你有什么问题需要问我呢
- 你还有什么要问我—面试中怎样回答才能最加分
- AsyncTask我来给你扯会蛋
- iOS 开发百问 我来支持你
- 你所知道的设计模式有哪些?我来给你讲常用的
- 你问我答
- 雨水我问你
- 你问我答
- 别人问你时记得"摆架子"
- 这道js面试题,我问了10个人,9个都回答错了,你呢?
- css知多少(1)——我来问你来答
- css知多少(1)——我来问你来答
- 老板问你忙不忙?你如何回答……
- 想卖网站?我来给你指条明路
- 你想要的,凭什么要别人给你?(真理)
- 当你无法回答别人提问时该怎么办?
- Facebook创始人的老婆不够美? 扎克伯格:我自己来回答为何娶丑妻(从此你是我偶像)
- 天地图再次使用体验(2017.3.4)
- CodeForces
- 004.PHP实现快速排序
- 第六届蓝桥杯省赛Java语言C组_移动距离
- Laravel 开发笔记
- 别人问你AIDL,我来给你回答
- JavaScript 变量/命名规则/交换两个数值类型的变量
- NO2.week2
- Linxu启动过程
- 主题模型
- 布局类型
- python字典遍历方法总结
- Android Studio的安装
- ftrace 简介