AIDL与IPC学习总结

来源:互联网 发布:现货白银软件 编辑:程序博客网 时间:2024/06/05 21:58

一、什么是AIDL

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

二、AIDL详解

AIDL详解

AIDL语法

具体实现步骤如下:
(1)、创建AIDL文件,在里面定义接口, 该接口定义了可供客户端访问的方法和属性。
(2)、编译AIDL文件

Ant Eclipse 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接口本地代理
0 0
原创粉丝点击