activity之间传递对象的两种方式

来源:互联网 发布:烟台淘宝托管 编辑:程序博客网 时间:2024/05/04 09:51

activity之间传递对象有两种方式,第一种方式是类实现Serializable接口,另一种是实现Parcelable接口

第一种方式不用多说:

import java.io.Serializable;/** * Created by Administrator on 2016/1/8. */public class Cat implements Serializable {    private String name;    private String age;    private String sex;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getAge() {        return age;    }    public void setAge(String age) {        this.age = age;    }    public String getSex() {        return sex;    }    public void setSex(String sex) {        this.sex = sex;    }}
第二种方式:

import android.os.Parcel;import android.os.Parcelable;/** * Created by Administrator on 2016/1/8. */public class Dog implements Parcelable {    private String name;    private int age;    private String sex;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public String getSex() {        return sex;    }    public void setSex(String sex) {        this.sex = sex;    }    public static final Creator<Dog> CREATOR = new Creator<Dog>() {        @Override        public Dog createFromParcel(Parcel in) {            Dog dog=new Dog();            dog.name=in.readString();            dog.sex=in.readString();            dog.age=in.readInt();            return dog;        }        @Override        public Dog[] newArray(int size) {            return new Dog[size];        }    };    @Override    public int describeContents() {        return 0;    }    @Override    public void writeToParcel(Parcel dest, int flags) {        dest.writeString(name);        dest.writeInt(age);        dest.writeString(sex);    }}
通过实现这两个方法describeContents,writeToParcel。在writeToParcel中将成员一一对应写入,在静态方法中一一 对应读出。

0 0
原创粉丝点击