반응형
1. AIDL 이란?
Android Interface description language
안드로이드에는 로컬 서비스와 원격 서비스가 존재한다. 그 중에 원격서비스는 AIDL을 통해 제공된다.
AIDL (안드로이드 인터페이스 정의 언어)는 하나의 안드로이드 장치 위에서 잠김 프로세스 통신 규약(IPC)에 의해 두 프로세스들 사이에 대화가 가능하도록 하기 위한 목적으로 생성되어진 코드를 사용할 수 있게 하는 IDL 언어 입니다.
2. AIDL 규칙
1. AIDL은 Java의 primitive type은 import 없이 쓸 수 있다.
2. String (CharSequence), List 도 import 없이 쓸 수 있다.
3. Map 도 import 없이 쓸 수 있다.
4. primitive type을 제외하고는 parameter로 쓰일 때, in, out, inout 을
설정해줘야 한다.( in 이 default )
3. AIDL 플러그인
패키지 안에 클래스말고 파일로 새로만들기애허 확장자를 aidl로 만들고, 저장하면 R 안에 자동으로 java파일도 생긴다.
(1) src/패키지/TestAidl.aidl을 넣은 후(파일로 생성한다), 아래와 같이 작성한다.
(2) 저장하면, gen/패키지/ 밑에 java 파일이 생성되는 것을 볼 수 있다.
(3) src/패키지/ITestAidl.java 를 생성 후, 아래와 같이 작성한다. extends TestAidl.Stub는 TestAidl 은 자동완성이 안되고, .Stub만 자동완성 기능이 나오므로 해깔리지 말자~
(4) Manifest.xml
<service android:name = "서비스 클래스 네임"> <axtion android:name="Aidl의 파일">
(5) 바인드 시킨다
(6) bind 되면 onServiceConnected 메소드가 호출되면서 test_aidl 객체를
이용할 수 있게되는데, test_aidl. ~ 로 메소드를 호출하여 사용할 수 있다.
반응형
'Programming > Android' 카테고리의 다른 글
Android google map v2 example (0) | 2013.06.03 |
---|---|
UUID (0) | 2013.05.27 |
Android stop animation (0) | 2013.04.30 |
Android remove layout (0) | 2013.04.30 |
Android get layout size (0) | 2013.04.30 |