IPC在android是一个非常独特的实现方式,它是通过binder 驱动来实现不同进程的通信的.
深入的了解清看李先静的<<Android IPC机制详解>>
?
?不同进程之间交换数据通过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<Wrap> CREATOR = new Parcelable.Creator<Wrap>(){ 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实例,再通过该实例获取数据