美文网首页
Android 数据序列化

Android 数据序列化

作者: wanTag | 来源:发表于2018-07-24 10:22 被阅读10次

本章主要讲Parcelable

  • Parcelable 是Android SDK提供的,基于内存,由于内存的读写速度高于磁盘,因此在Android中跨进程对象的传递一般使用Parcelable
  • Parcelable 的读写需要写大量的模板,不易于维护。在Android Studio中安装Android Parcelable code generator的插件。


    11.png

    安装完成,需要重启。

/**
 * @author Administrator
 */
public class BookItem {
    public String mName;
    public String mLastTime;
    public String mTitle;
    public String mPath;
}
22.png

Parcelable 接口实现的几个方法

  • describeContents 描述接口的内容
  • writeToParcel 将类的数据写入到Parcel容器中
  • 静态Parcelable.Creator接口
    createFromParcel:反序列化的方法,将Parcel还原成Java对象
    newArray : 提供给外部类反序列化这个数组使用
**
 * @author Administrator
 */
public class BookItem implements Parcelable {
    public String mName;
    public String mLastTime;
    public String mTitle;
    public String mPath;


    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(this.mName);
        dest.writeString(this.mLastTime);
        dest.writeString(this.mTitle);
        dest.writeString(this.mPath);
    }

    public BookItem() {
    }

    protected BookItem(Parcel in) {
        this.mName = in.readString();
        this.mLastTime = in.readString();
        this.mTitle = in.readString();
        this.mPath = in.readString();
    }

    public static final Parcelable.Creator<BookItem> CREATOR = new Parcelable.Creator<BookItem>() {
        @Override
        public BookItem createFromParcel(Parcel source) {
            return new BookItem(source);
        }

        @Override
        public BookItem[] newArray(int size) {
            return new BookItem[size];
        }
    };
}

相关文章

网友评论

      本文标题:Android 数据序列化

      本文链接:https://www.haomeiwen.com/subject/kyhemftx.html