2011-08-01 3 views
0

나는 다른 프로그래머에게 apk로 제공 할 원격 서비스가 있습니다. 이 원격 서비스는 서비스를 제어하는 ​​API를 제공합니다. 원격 서비스를 테스트하기 위해 다른 패키지에 테스트 응용 프로그램을 작성했습니다. AIDL을 내 테스트 응용 프로그램으로 내 보내야하므로 작동하지 않습니다. 물론 Remote Service를 빌드 경로에 넣을 수는 있지만 원하는 것은 아닙니다. 다른 프로그래머가 스마트 폰에 apk를 설치하기 만하면 자신의 응용 프로그램에서 내 API를 사용할 수 있기를 바랍니다. 나는 다른 해결책을 보지 못했지만 원격 서비스를 항아리가 아니라 APK로 배포하고 있습니다.원격 서비스 as apk

Intent를 시작할 수없는 경우 apk의 다운로드 페이지를 자동으로 열어주는 Intent로 코드 조각을 읽었습니다. 그러나 원격 서비스로 작업 할 경우 AIDL은 항상 원격 서비스를 사용하려는 응용 프로그램으로 가져와야합니다. 그렇지 않습니까? 협회는 상당히 느슨한 경우

덕분에, 베니

답변

0

, 당신은 통신 메커니즘보다는 서비스 결합 모델로 의도를 사용할 수 있습니다.

현재 모듈을 유지하는 경우 다른 프로그래머가 통합 할 소스 또는 항아리로 필요한 AIDL 코드를 제공 할 수 있습니다. 이렇게하면 인터페이스에 버전 관리를 넣고 호환되지 않는 버전을 어떻게 처리해야하는지 생각해보십시오. 이것은 실제로 재사용 가능한 구성 요소 메커니즘이 작동하는 방식과 크게 다르지 않습니다. 재사용 가능한 외부 모듈의 스텁은 클라이언트 프로그램의 컴파일을 지원하기 위해 제공되어야합니다.

+0

답변 해 주셔서 감사합니다. Remote Service의 인터페이스에는 5 가지 방법이 있습니다. 그 중 하나는 PendingIntent를 매개 변수로 사용합니다. 이것은 어리석은 질문 일지 모르지만 Intents를 사용하여 API 메소드를 호출하려면 어떻게해야합니까? – Benjamin

+0

다른 사람들에게 내 AIDL을 항아리로 제공 할 수 있다는 것은 물론 가능합니다. 다른 사람들이 내 원격 서비스를 사용하기 위해 가능한 한 쉽게 만들고 싶었습니다. 물론 원격 서비스를 jar 파일보다 apk 파일로 배포하는 것이 훨씬 쉽습니다. – Benjamin