[Android] Parcel
Developments/Android / 2013. 7. 13. 11:29
Parcel은 내부의 데이터는 모두 직렬화 되어야한다.
parcel로 저장된 데이터는 Serializable되었으므로 Read시 순서대로 읽어야 한다.
(setDataPosition을 통해 특정 위치로 이동할수 있다.)
Parcel parcel = parcel.obtain();
// write -->
parcel.writeInt(intData);
parcel.writeString(stringData);
parcel.writeFloat(floatData);
parcel.setDataPosition(0);
//read -->
parcel.readInt();
parcel.readString();
parcel.readFloat();
Serializeable을 상속받은 객체
String
ArrayList
LinkedList
HashMap
TreeMap
implements된 Parcelable에 상속받는 method
describeContents()
writeToParcel(Parcel out, int flags) //객체 분해 송신시 사용
해당 객체 전송하면 frameworks 내부의 IPC 전송담당에서 자동으로 호출한다.
//객체 조립 수신시
public static final Parcelable.Creator<SearchRequest> CREATOR = new Parcelable.Creator<SearchRequest>() { public testPacel createFromParcel(Parcel in) { return new SearchRequestImpl(in); } public testPacel[] newArray(int size) { return new testPacel[size]; } };
'Developments > Android' 카테고리의 다른 글
[Android/Tip] Interface (0) | 2013.07.13 |
---|---|
[Android/Exception] - java.lang.IllegalStateException (0) | 2013.07.13 |
[Android/Tip] ListView getView 중복 호출 (0) | 2013.05.06 |
[Android/Tip] - adjustResize in Fullscreen (1) | 2013.04.17 |
[Android] Resource Density and Screen (0) | 2013.04.10 |