- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
목록writeToParcel() (4)
드럼치는 프로그래머
Few days back I had a requirement to send ArrayList of my Custom Class/Objects which need to be sent through Intent, I guess most of you also find this requirement now and then. I never thought it can be that tricky. There are built in functions in Intent to send ArrayList of primitive objects e.g. String, Integer, but when it comes to Custom Data Handling Objects, BOOM… you need to take that ex..
AIDL을 사용하는 서비스간 통신에 있어서 데이터의(변수) 전송은 제한적이다. 특히 컴플렉스 타입을 전송하는데에는 Parcelable 인터페이스를 구현하여야 한다. 이때, Parcelable의 역할은 안드로이드 런타임에 객체의 직렬화(serialize) 과정을 도와주는 것이다. 물론 serializable을 사용하여 직렬화하고 전송할 수 있겠지만, 안드로이드에서는 공유메모리를 활용하는, IPC(Inter-Process Communication)통신에서의 효율성을 위하여 사용자가 내부정보에 대한 사항을 직접 명시함으로서, 자바 프로세서가 클래스 내부를 일일히 처리해야하는 오버헤드를 줄여준다. 우선 AIDL에서 사용되는 자료형에 대한 참고사항은 다음과 같다. (from 안드로이드 4 실무 바이블) AIDL은..
앱을 만들다 보면 인텐트를 통해 단순히 String, int, boolean 같은 기본 타입 뿐 아니고 커스텀 클래스나 오브젝트를 다른 컴포넌트에 전달해 줘야 할 경우가 많다. 그 경우 단순히 그냥 인텐트에 putExtra() 로는 넣어줄 수가 없다. 안드로이드에서는 그런 경우를 위해 자바의 Serialization 개념과 유사한 Parcelable이라는 클래스가 있다. 먼저 이런것이 왜 필요한가 살펴보겠다. 예를 들어 다음과 같은 클래스가 있다고 하자. public class BookData { int _id; String title; String author; String publisher; int price; } 도서관리 앱에서 ListView로 화면에 표시하기 위해 ArrayList에 책들의 정보..
내가 만든 객체를 IPC를 통해 전달하려면 Parcelable Interface 를 implement 해야한다. 내가 만든 클래스가 class ProcessPrivacyInfo { String processName; byte accessInfo; } 라고 한다면 수정된 클래스는 Parcelable의 두가지 메소드 와 한가지 필드 int describeContents() void writeToParcel(Parcel dest, int flags) public static final Parcelable.Creator CREATOR 를 선언해야 한다. 수정하면 아래와 같다. import android.os.Parcel; import android.os.Parcelable; class ProcessPrivacy..