您的位置:首页 > 其它

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

2016-01-08 20:53 399 查看
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中将成员一一对应写入,在静态方法中一一 对应读出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: