android学习札记之十二进程通信(IPC)

android学习笔记之十二进程通信(IPC)

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实例,再通过该实例获取数据