传递实体类对象的两种方法_Serializable和Parcelable

Serializable是由JAVA封装的传递方法,Parcelable则是android创建的。

两者相比较Serializable简单,但是消耗较大,Parcelable则相对麻烦,但是消耗小

Serializable使用方法 :

1.implement Serializable

public class Data implements Serializable

2.传递值

intent.putExtra("user", new Data("name", 2));

3.获取数据

Intent intent = getIntent();
Data data = (Data) intent.getSerializableExtra("user");

Parcelable使用方法:

1.implement Parcelable ----重写方法并添加两个方法

//重写两个方法
  @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(getName());
        dest.writeInt(getAge());
    }

//加入两个方法
    public static final Creator<Data> CREATOR = new Creator<Data>() {
        @Override
        public Data createFromParcel(Parcel source) {
            return new Data(source.readString(), source.readInt());
        }

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

2.与上面相同

3.获取数据

 Data data = intent.getParcelableExtra("user");

两个方法比较的话 ,parcelable是挺麻烦的。各有好处。

原文地址:https://www.cnblogs.com/lyxin/p/5776633.html