Parcel接口表示一个可被打包的对象,即能够写入到一个Parcel中,也能从Parcel中恢复。实现Parcelable接口的类必须有一个称作CREATOR的静态类对象,且该静态类对象实现了Parcelable.Creator接口。
一个典型的Parcelable实现类框架如下:
public class MyParcelable implements Parcelable {
private int mData;
public int describeContents() {
return 0;
}
public void writeToParcel(Parcel out, int flags) {
out.writeInt(mData);
}
public static final Parcelable.Creator<MyParcelable> CREATOR = new Parcelable.Creator<MyParcelable>() {
public MyParcelable createFromParcel(Parcel in) {
return new MyParcelable(in);
}
public MyParcelable[] newArray(int size) {
return new MyParcelable[size];
}
};
private MyParcelable(Parcel in) {
mData = in.readInt();
}
}