很详细的android序列化过程Parcelable

直接上代码:注释都写的很清楚了。

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());}}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

天下没有不散的宴席,也许这人间真的只有朦朦胧胧才是真。

很详细的android序列化过程Parcelable

相关文章:

你感兴趣的文章:

标签云: