Android/Android 일반

AIDL(Android Interface Definition Language)

lipnus 2019. 3. 25. 16:53
반응형

안드로이드 인터페이스 정의 언어 (AIDL)


Service다루는 방법 1


startService() / stopService() 를 이용해서, 특정 Service 를 시작 하거나 종료.




Service다루는 방법 2

bindService()를 이용해서, Service 의 IBinder 객체를 얻어온 후, 해당 Service 에서 정의된 API 를 호출


- API호출방법1 - local service

Service와 Service를 이용하는 어플리케이션이 항상 동일한 Process 에서 작동하는 경우에 해당. 

이 경우 bindService() 의 결과로 바로 해당 Service 에 접근해서 원하는 API 를 호출할 수 있다.


- API호출방법2 -Remote Service

실재로 Service가 돌고 있는 Process가 아닌 다른 Process에서 API 를 호출 하고자 할 때는 

반드시 IBinder 와 AIDL을 통해  RPC(Remote Procedure Call)이 이루어져야 한다.




AIDL ( Android Interface Definition Langage ) 는 IPC의 한 역할로,

서로 다른 프로세스 에서 Class를 공유하고자 할 때 사용.





Documenthttps://developer.android.com/guide/components/aidl

참고: 안드로이드 AIDL 을 통해 서로 다른 Process에서 Service 와 통신 하기

반응형