Android中使用序列化方法传递对象

来源:互联网 发布:手机屏幕视频录像软件 编辑:程序博客网 时间:2024/04/29 04:42

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");






0 0
原创粉丝点击