Parcelable,內存單位,跨進程使用,或者intent傳遞對象的時候使用。
android中用Intent傳數據,如果用傳遞的是一個對象,就將對象實現Parcelable接口,而不是將對象序列化。
/** * 預登記 出席領導回傳給預登記頁面 Javabean * Created by COCO on 2017/3/4. */ public class GovernmentTakeLeaderInfo implements Parcelable{//Parcelable,內存單位,跨進程使用,或者intent傳遞對象的時候使用 private String name; private String leaderId; //默認構造函數 要加上 public GovernmentTakeLeaderInfo(){}; protected GovernmentTakeLeaderInfo(Parcel in) { name = in.readString(); leaderId = in.readString(); } public static final Creator<GovernmentTakeLeaderInfo> CREATOR = new Creator<GovernmentTakeLeaderInfo>() { @Override public GovernmentTakeLeaderInfo createFromParcel(Parcel in) { return new GovernmentTakeLeaderInfo(in); } @Override public GovernmentTakeLeaderInfo[] newArray(int size) { return new GovernmentTakeLeaderInfo[size]; } }; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getLeaderId() { return leaderId; } public void setLeaderId(String leaderId) { this.leaderId = leaderId; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(name); dest.writeString(leaderId); } }
以上是要用intent傳遞的數據。
在用Intent傳遞的時候要調用ParcelableArrayListExtra相關方法。例如在回傳數據的時候:
Intent intent = getIntent(); intent.putParcelableArrayListExtra("data_return", data);//跨進程使用,或者intent傳遞對象的時候使用 setResult(RESULT_OK, intent);
在接收數據的時候: