Android Service간 통신 #2 IPC / BinderInter Process Communication의 약자로 process간 통신하는것을 말한다. 리눅스 커널에서 Binder을 이용하여 프로세스간 메시지를 주고 받으며, 안드로이드에서는 다른 프로세스의 함수를 호출 (RPC)하는 방법 또한 제공한다. 따라서 안드로이드에서는 독립된 process의 메모리 공간이 아닌 kernel의 공유된 공간을 이용하여 함수를 호출하며 이를 Binder Driver가 수행한다. Parcel / ParcelableBinder는 parcel 형태로 데이터를 전달 하므로, 개발자가 다른 process로 데이터를 전달하기 위해서는 전달하고자 하는 클래스에 parcelable을 implements 하여야 한다. 기존 리눅스 바인더는 primitive type만.. 개발이야기/Android 7년 전
Android Service간 통신 #1 Service의 종류Android의 서비스는 간단히 구분하면, 내부/외부 서비스로 나눠진다. 내부 서비스는 말그대로 앱 안에서 서비스를 호출하는걸 말하고, 외부 서비스는 앱간 호출이 가능한 서비스라고 할 수 있다. 내부 서비스 역시 startService()로 서비스를 띄우는 로컬서비스와 bindService()를 통하여 서비스를 띄우는 bind 서비스로 나눠볼 수 있다. 이 글에서는 내부 bind service에 대해서 다루고자 한다.외부 bind service (RPC)에 대해서는 다음 포스팅에 다룬다. bind Service를 이용한 통신startService()와 bindService()의 차이가 뭘까? srartService()로 서비스를 만드는경우 intent에 번들로 어떤 정보를 전달할 수 .. 개발이야기/Android 8년 전