Android Service간 통신 #3 LocalBinder를 이용한 통신이전 글에서는 Activity와 Service간 통신을 위하여 local binder를 이용하여 사용하는 방법을 설명하였다. 이때 사용한 두가지 방법은 아래와 같다 1. Local binder를 이용한 service객체 자체를 넘김. 2. Local binder를 이용하여 handler를 Messenger로 wrapping 한 뒤에 binder로 넘김. 1번의 경우 단방향 통신이 가능하나, 예제에서 처럼 작성시 상호참조가 발생할수 있으니, Service에 추가로 정의된 함수를 호출하기 위한 interface를 하나 구현 하는것이 좋다. ResultReceiver를 이용한 통신여기서는 ResultReciever를 이용하여 단방향으로 Activity 개발이야기/Android 8년 전
Android Service간 통신 #2 IPC / BinderInter Process Communication의 약자로 process간 통신하는것을 말한다. 리눅스 커널에서 Binder을 이용하여 프로세스간 메시지를 주고 받으며, 안드로이드에서는 다른 프로세스의 함수를 호출 (RPC)하는 방법 또한 제공한다. 따라서 안드로이드에서는 독립된 process의 메모리 공간이 아닌 kernel의 공유된 공간을 이용하여 함수를 호출하며 이를 Binder Driver가 수행한다. Parcel / ParcelableBinder는 parcel 형태로 데이터를 전달 하므로, 개발자가 다른 process로 데이터를 전달하기 위해서는 전달하고자 하는 클래스에 parcelable을 implements 하여야 한다. 기존 리눅스 바인더는 primitive type만.. 개발이야기/Android 8년 전