Android之使用 Intent 传递对象(一)Parcelable 方式
一,简介
除了 Serializable之外,使用 Parcelable 也可以实现相同的效果,不过不同于将对象进行
序列化,Parcelable 方式的实现原理是将一个完整的对象进行分解,而分解后的每一部分都
是 Intent 所支持的数据类型,这样也就实现传递对象的功能了。
下面我们来看一下 Parcelable 的实现方式,修改 Person 中的代码,如下所示:
public class Person implements Parcelable {
private String name;
private int age;
……
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(name); // 写出name
dest.writeInt(age); // 写出age
}
public static final Parcelable.Creator<Person> CREATOR = new Parcelable.
Creator<Person>() {
@Override
public Person createFromParcel(Parcel source) {
Person person = new Person();
person.name = source.readString(); // 读取name
person.age = source.readInt(); // 读取age
return person;
}
@Override
public Person[] newArray(int size) {
return new Person[size];
}
};
}