传递实体类对象的两种方法_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是挺麻烦的。各有好处。