AIDL学习
来源:互联网 发布:那个软件看书好 编辑:程序博客网 时间:2024/06/05 07:45
进程是操作系统分配给应用的一个单位,进程与进程间的数据是独立的。远程服务的概念就是调用者和服务不在同一个进程,一般情况下是无法调用的。这时候就要用到进程间通讯,其实就是操作系统的一块公共的内存空间。如信号量,消息队列,管道,消息邮箱,文件等。
google提供了AIDL ,安卓接口定义语言。
首先上一篇说道服务和调用者之间有一个中间者,他实现了调用者需要调用服务的方法的接口。
绑定远程服务调用方法的步骤:
1.在服务的内部创建一个内部类 提供一个方法,可以间接调用服务的方法
2.把暴露的接口文件的扩展名改为aidl文件 去掉访问修饰符 public
private class MiddlePerson extends IMiddlePerson.Stub{} IPC的子类
3.实现服务的onbind方法,返回的就是中间人 IMiddlePerson
4.在activity 绑定服务。bindService();
5.在服务成功绑定的时候 会执行一个方法 onServiceConnected 传递过来一个 IBinder对象
6.IMiddlePerson.Stub.asInterface(binder) 调用接口里面的方法。
远程服务和调用者都必须有一样包名路径的aidl文件,他会在gen里生成一个名字一样的.java文件,这个文件里就有Stub这个子类。
0 0
- aidl 学习
- Aidl学习
- aidl学习
- AIDL学习
- 学习AIDL
- AIDL学习
- 笔记001:Aidl 学习
- android AIDL学习问题
- 学习android aidl
- Service以及AIDL学习
- aidl初步学习
- AIDL的学习
- android学习5:AIDL
- AIDL 使用学习
- AIDL的学习
- AIDL初探以及学习
- Android AIDL 初始学习
- AIDL学习笔记
- CentOS6上配置静态IP地址、DNS等
- jsp转word时文件乱码问题
- Flashback的用法
- iOS圆形按钮
- Android源代码仓库及其管理工具Repo分析
- AIDL学习
- 黑马程序员-java基础-常用的类以及它的方法
- 毕业了
- 天翼博览会抢先看:“互联网+”引领智慧生活
- 【CodeVS】3303 翻转区间
- 指针函数与函数指针
- c#读excel 不用office组件
- plsql中的集合
- Xcode用Archive生成ipa失败,只生成Generic Xcode Archive的解决方案