直接上代码:注释都写的很清楚了。
public class Entry implements Parcelable{public int userID;public String username;public boolean isMale;public Book book;//序列化对象可以嵌套序列化对象,前提是2个类的对象都被序列号过//几乎所有情况下都返回0,可以不管@Overridepublic int describeContents() {return 0;}//序列化对象,将对象写到序列号数据结构中//flags:大多数情况为0@Overridepublic void writeToParcel(Parcel out, int flags) {out.writeInt(userID);out.writeString(username);out.writeInt(isMale ? 1:0);out.writeParcelable(book, 0);// out.writeList(list);也可以序列号list和Map,前提是list和Map里面的数据都是可序列号的// out.writeMap(Map);}public Entry(int userID,String username,boolean isMale) {this.userID = userID;this.username = username;this.isMale = isMale;}//反序列化public static final Parcelable.Creator<Entry> CREATOR = new Creator<Entry>() {//创建指定长度的原始对象数组@Overridepublic Entry[] newArray(int size) {// TODO Auto-generated method stubreturn new Entry[size];}//从序列号过后的对象中创建原始对象@Overridepublic Entry createFromParcel(Parcel source) {// TODO Auto-generated method stubreturn new Entry(source);}};//从序列号后的对象中创建原始对象private Entry(Parcel in){userID = in.readInt();username = in.readString();isMale = in.readInt() == 1;in.readParcelable(Thread.currentThread().getContextClassLoader());}}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。
新闻热点
疑难解答