一、引言
AIDL是android内部进程通信接口的描述语言,是实现跨进程方法调用的一大利器,其中Binder和Messenger的实现机制都是AIDL。
二、使用下面结合示例说明其使用过程:
本次示例的基本要求是完成一个图书馆图书入库和在库图书列表查询的demo,
1、为了完成这个功能,我们首先需要一个实体类Book,这个实体类需要序列化,因为只有序列化以后的Book对象才能在AIDL中使用。
2、接下来我们需要新建Book.aidl和IBookManager.aidl
我们需要在Book.aidl声明这个Book类,并在IBookManager中导入Book.aidl并实现两个功能:addBook和getBookList
3.reBuild项目,这样就会自动生成IbookManager.java这个AIDL文件。(如果查找不到Book类,请参看我的另外一篇文章,Binder的机制浅析)
4.接下来的我们就需要在客户端和服务端完成对应的工作:
下面简单介绍一下Service和Client中的实现内容。(具体代码在最后贴出)