您的位置:首页 > 移动开发 > Android开发

Android Serializable Parcelable 序列化

2016-05-31 15:48 411 查看
序列化后的对象可以作为一个整体进行传输,便于网络传输和存储。

1、Serializable public class Person implements Serializable{
private String name;
private int age;

public void setName(String name){
this.name = name;
}

public String getName(){
return name;
}

public void setAge(int age){
this.age = age;
}

public int getAge(){
return age;
}
}
传输数据:Intent intent = new Intent(MainActivity.this,SecondActivity.class);
Person person = new Person();
person.setAge(10);
person.setName("啦啦啦");
intent.putExtra("person_data",person);

startActivity(intent);在SecondActivity中获取数据:
Person person = (Person)intent.getParcelableExtra("person_data");

2、Parcelable
public class Person2 implements Parcelable{
private String name;
private int age;

public void setName(String name){
this.name = name;
}

public String getName(){
return name;
}

public void setAge(int age){
this.age = age;
}

public int getAge(){
return age;
}
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}

@Override
public void writeToParcel(Parcel dest, int flags) {
// TODO Auto-generated method stub
dest.writeString(name);<span style="white-space:pre"> </span>//将数据写到pacel
dest.writeInt(age);
}

public static final Parcelable.Creator<Person2> CREATOR = new Parcelable.Creator<Person2>() {

@Override
public Person2 createFromParcel(Parcel source) {<span style="white-space:pre"> </span>//将数据从pacel中读取
// TODO Auto-generated method stub
Person2 person = new Person2();
person.name = source.readString();
person.age = source.readInt();
return person;
}

@Override
public Person2[] newArray(int size) {
// TODO Auto-generated method stub
Person2[] person = new Person2[size];
return person;
}
};

}


传输数据:
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
Person person2 = new Person2();
person2.setAge(10);
person2.setName("啦啦啦");
intent.putExtra("person_data",person);

startActivity(intent);

在SecondActivity中获取数据:

Person person2 = (Person2)intent.getParcelableExtra("person_data");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: