Android中使对象进行序列化的方法有两种:
1、实现Serializable接口,这是Java自带的一个接口,在java.io.Serializable下;
2、实现Parcelable接口,这是Android中的一个接口,在android.os.Parcelable下,使用比Serializable复杂,但效率高得多。
下面通过代码来介绍两者的使用。
1、Serializable
public class Person implements Serializable {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
传递该对象
Person person = new Person();
person.setName("张三");
Intent intent = new Intent();
intent.putExtra("person",person);接收该对象
Person person = (Person) getIntent().getSerializableExtra("person");2、Parcelable
public class Person implements Parcelable {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
protected Person(Parcel in) {
name = in.readString();
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(name);
}
public static final Creator<Person> CREATOR = new Creator<Person>() {
@Override
public Person createFromParcel(Parcel in) {
return new Person(in);
}
@Override
public Person[] newArray(int size) {
return new Person[size];
}
};
}传递该对象
Person person = new Person();
person.setName("张三");
Intent intent = new Intent();
intent.putExtra("person",person);接收该对象
Person person = getIntent().getParcelableExtra("person");
本文介绍了Android中两种对象序列化的方法:实现Serializable接口和Parcelable接口。详细对比了它们的使用方式和优缺点,并提供了具体的代码示例。
660

被折叠的 条评论
为什么被折叠?



