Service bound(三)
service 绑定有三种实现方式:
1. 直接继承Binder类实现。
条件: 同一应用,同一进程
2. 使用Messenger实现。
条件:要在不同的进程间通信,这种方式不用考虑线程安全性。(单线程操作时使用)
3. 使用AIDL实现。
条件:要在不同的进程间通信,并且需要多线程处理。要考虑线程之间的安全性。
使用AIDL实现:
三大基本步骤
创建.aidl文件实现接口公开接口
方法定义有0个或者多个参数,可以返回一个值或者是void.
方法中不是基本类型的参数,需要在方法参数前面加入in , out or inout包含在.aidl中所有的注释在IBinder接口中都会生成(除了在import和package之前的注释)
仅仅支持方法,不支持静态的成员变量。
package com.hualu.servicemy;parcelable Book ;
Book.java
公开接口