Android开发艺术探索学习笔记——第二章:IPC机制(中)

学习参考网址:Android开发艺术探索——第二章:IPC机制(中)

参考网址: android开发艺术探索学习笔记-第二章:IPC机制-应用中使用aidl

一.Android中的IPC方式

1.使用Bundler

2.使用文件共享

3.使用Messenger

Messenger是对AIDL的封装;相对于AIDL来说,Messenger上手更容易;

操作流程:(详细的demo代码请看参考网址)

1.创建一个service,然后在里面自定义一个handler;

2.在onbind里面返回这个自定义handler的Messenger;

3.在需要服务的地方绑定服务,获取Messenger,然后创建一个message的对象,最后send(message)即可把数据发给服务;

4.服务端给客户端发消息的原理和3差不多,首先通过msg.replyTo()方法获取客户端的messenger对象,然后创建message对象,最后send(message)即可把数据发给客户端;

四.使用AIDL

aidl实现操作流程:

服务端代码----

1.创建需要操作的实体类,例如:Book,并且实现序列号(implements paracelable);

2.创建Book.aidl

3.创建可以供客户端操作的接口,例如:BookController.aidl

4.如有需要,还可以添加一个监听的接口,例如:CallbackListener.aidl

5.创建自己的service类,在该类中,实现aidl中定义的接口

客户端代码-----

1.把刚刚在服务端创建的aidl全部拷贝到客户端,注意要保证目录和服务端一致;

2.把服务端操作的实体类拷贝到客户端,注意要保证目录和服务端一致;

3.在需要调用服务的地方,绑定服务,获取接口,例如:BookController.aidl。

4.根据用户需要,调用相关的接口,例如:addBook(Book book)等;

 

 

你可能感兴趣的:(Android)