bundle.putParcelable可以實現傳遞對象,但是這個對象的類必須實現Parcelable接口才能夠使用。
下面是一個簡單的在Activity之間傳遞對象的例子。
parcel實現參數的序列化,把類對象序列化為齊位的二進制流,提高傳輸的效率。
Parcelable類。最主要的類,也就是我們要傳送的對象的類,需要實現Parcelable接口。
import Android.os.Parcel;
import android.os.Parcelable;
public class BenParcelable implements Parcelable {
public String name;
public int age;
public String profession;
public BenParcelable(String name, int age, String profession) {
this.name = name;
this.age = age;
this.profession = profession;
}
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 getprofession() {
return profession;
}
public void setprofession(String profession) {
this.profession = profession;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int flag) {
parcel.writeString(name);
parcel.writeInt(age);
parcel.writeString(profession);
}
public static final Creator<BenParcelable> CREATOR = new Creator<BenParcelable>() {
public BenParcelable createFromParcel(Parcel in) {
return new BenParcelable(in);
}
public BenParcelable[] newArray(int size) {
return new BenParcelable[size];
}
};
private BenParcelable(Parcel in) {
name = in.readString();
age = in.readInt();
profession = in.readString();
}
}