티스토리 뷰
지난 포스팅에서는 객체 직렬화의 개념과 Serializable 에 대해 알아 보았다.
[Android] - 객체 직렬화 - Serializable
이번 포스팅에서는 Parcelable 에 대해 알아보자.
Parcelable
Parcelable 은 Android SDK interface 로 reflection 을 사용하지 않게 설계된 interface 이다.
Parcelable 은 직렬화한 데이터 그 자체로 직렬화 처리 방법을 사용자가 명시적으로 작성하기 때문에 자동으로 처리하기 위한 reflection 이 필요 없다.
(Reflection 을 사용하지 않아 성능 측면에서 좋다.)
직렬화의 방법은 Serializable 보다 복잡하다.
- "implements Parcelable" 을 상속한다.
- 객체를 송신하기 위해 writeToParcel() 에 전달할 데이터를 순차적으로 저장한다.
(Parcel 객체로 전달할 데이터를 직렬화 시켜준다.)
- 객체를 수신하기 위해 CREATOR 를 작성하고 createFromParcel() 로 전달받은 데이터를 순차적으로 읽어온다.
(전달받은 Parcel 객체를 역직렬화 한다.)
또한, 하단과 같은 조건은 만족해야 한다.
- 직렬화 class 는 송신, 수신 모두 동일해야 한다.
- 직렬화 class 의 패키지 명이 같아야 한다.
- Parcel 객체에 데이터를 추가한 순으로 데이터를 읽어야 한다.
◼ 직렬화 class (송수신 공통)
◼ 송신부
◼ 수신부
Reference
하단은 예전 자료이긴 하지만 Serializable 와 Parcelable 의 성능을 비교할 수 있는 자료다.
이미지 출처 : http://www.developerphil.com/parcelable-vs-serializable/
Source code
◼ 송신부
https://github.com/parkho79/ParcelableSender
◼ 수신부
https://github.com/parkho79/ParcelableReceiver
'Android' 카테고리의 다른 글
Android 진동 울리기 (1) | 2020.06.18 |
---|---|
객체 직렬화 - Bundle (0) | 2020.03.19 |
객체 직렬화 - Serializable (0) | 2020.02.28 |
TextView 글자크기를 동적으로 변경하기 (0) | 2020.02.21 |
AndroidX (0) | 2020.02.12 |
- Total
- Today
- Yesterday
- BroadcastReceiver
- RoomDatabase
- M2E
- bindservice
- onCreateContextMenu
- 채굴앱
- 무료채굴
- 앱테크 추천
- 앱테크
- Android Service
- task 생성
- StringUtils
- 무료 채굴
- android task
- mPANDO
- android activity flag
- registerForContextMenu
- 안드로이드 서비스
- android intent
- p2e
- Intent
- 리워드 어플
- notifyDataSetChanged
- 리워드앱
- task
- StartService
- 안드로이드 인텐트
- android flag activity
- WEMIX
- onContextItemSelected
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |