IPC在android是一个非常独特的实现方式,它是通过binder 驱动来实现不同进程的通信的.
深入的了解清看李先静的<>
不同进程之间交换数据通过Parcelable包装交换数据.可以通过Intent在不同的进程之间传送数据.
1,Parcelable包装交换数据实现
a,新建一个实现Parcelable接口的Wrap类.示例
public class Wrap implements Parcelable {
public T Data;
public int describeContents() {
return 0;
}
public void writeToParcel(Parcel dest, int flags) {
dest.writeXX(Data);
}
public Wrap(T value) {
Data =value;
}
private Wrap(Parcel in){
Data=in.readXX();
}
public static final Parcelable.Creator CREATOR = new Parcelable.Creator(){
public Wrap createFromParcel(Parcel source) {
return new Wrap(source);
}
public Wrap[] newArray(int size) {
return new Wrap[size];
}
};
}//end class
注意:被包装的数据必须可序列化
b,数据交互
Bundle.putParcelable(String key,Parcel value) 传入数据
Bundle.getParcelable(String key) 返回传入的Parcelable实例,再通过该实例获取数据