본문

160329A(화)

Parcelable


안드로이드의 기본타입이 아닌 Object를 보내야 하는경우

자바는 Serialization을 사용하지만 안드는 Parcelable을 주로 이용한다.


public class MyParcelable implements Parcelable {
     
private int mData;

     
public int describeContents() {
         
return 0;
     
}

     
public void writeToParcel(Parcel out, int flags) {
         
out.writeInt(mData);
     
}

     
public static final Parcelable.Creator<MyParcelable> CREATOR
             
= new Parcelable.Creator<MyParcelable>() {
         
public MyParcelable createFromParcel(Parcel in) {
             
return new MyParcelable(in);
         
}

         
public MyParcelable[] newArray(int size) {
             
return new MyParcelable[size];
         
}
     
};
     
     
private MyParcelable(Parcel in) {
         mData
= in.readInt();
     
}
 
}


parcel된 데이터를 복구하는 생성자 정의

※ writeToParcel()에서 기록한 순서와 동일하게 복구해야만 한다.


public BookData(Parcel in) {
    _id = in.readInt();
    title = in.readString();
    author = in.readString();
    publisher = in.readString();
    price = in.readInt();
}





































'Mobile > Android' 카테고리의 다른 글

160331A(목)  (0) 2016.03.31
160330A(수)  (1) 2016.03.30
160326P(토)  (0) 2016.03.26
160321A(월)  (0) 2016.03.21
160319A(토)  (0) 2016.03.19

공유

댓글