您的位置:首页 > 大数据 > 人工智能

AIDL与IPC学习总结

2017-04-11 11:18 204 查看

一、什么是AIDL

AIDL
定义Android内部进程通信接口的描述语言
作用定义进程间的通信接口
全称Android Interface definition language
IPC
定义内部进程通信
全称interprocess communication

二、AIDL详解





具体实现步骤如下:

(1)、创建AIDL文件,在里面定义接口, 该接口定义了可供客户端访问的方法和属性。

(2)、编译AIDL文件

AntEclipse plugin
可能需要手动根据aidl文件,自动生产java文件并编译, 不需要人为介入
(3)、在Java文件中, 实现AIDL中定义的接口.编译器会根据AIDL接口, 产生一个JAVA接口。这个接口有一个名为Stub的内部抽象类,它继承扩展了接口,并实现了远程调用需要的几个方法。接下来就需要自己去实现自定义的几个接口了.

(4)、向客户端提供接口ITaskBinder,如果写的是Service,扩展该Service,并重载onBind ()方法来返回一个实现上述接口的类的实例。

(5)、在服务器端,回调客户端的函数.前提是当客户端获取的IBinder接口时,要去注册回调函数, 只有这样, 服务器端才知道该调用那些函数。

三、谈谈IPC机制

IPC
全称内部进程通信
定义共享”命名管道”的资源
目的让Activity和Service间,可随时进行交互
适用范围只适用于Activity和Service之间的通信
类似于远程方法调用~~~~C/S模式的访问
与AIDL的关系可通过定义AIDL接口文件,来定义IPC接口。
Servier端实现IPC接口
Client端调用IPC接口本地代理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ipc aidl