나는 안드로이드가있는 네이티브 CouchdDB 응용 프로그램을 만들고 있습니다. 이제 "안드로이드에 CouchDB를 상호 작용하는 데 필요한 라이브러리 파일"로 설명 그냥이 주 CouchOne 발표 libcouch : [email protected]안드로이드 CouchDB - libcouch 및 IPC Aidl 서비스
그것은 CouchDB를 설치하는 기본 응용 프로그램입니다 경우 CouchDB를 서비스 (이전에 설치 한 경우 그 CouchDB를 함께 제공) 은 (는) 바인딩 할 수 없습니다. CouchDB를 에서 IPC 서비스에 바인딩 시도하여 그 서비스가 CouchDB를 통신하고자 통해 장치에 CouchDB를의 존재를 추정 libcouch 을 : 나는 그것을 이해
은보다 정확합니다.이 검토를 위해 CouchAppLauncher.class 의 방법 "attemptLaunch()"를 참조하십시오 {
Log.i(TAG,"1.) called attemptLaunch");
Intent intent = new Intent(ICouchService.class.getName());
Log.i(TAG,"1.a) setup Intent");
Boolean canStart = bindService(intent, couchServiceConn,
Context.BIND_AUTO_CREATE);
Log.i(TAG,"1.b bound service. canStart: " + Boolean.toString(canStart));
if (!canStart) {
setContentView(R.layout.install_couchdb);
TextView label = (TextView) findViewById(R.id.install_couchdb_text);
Button btn = (Button) this.findViewById(R.id.install_couchdb_btn);
String text = getString(R.string.app_name)
+ " requires Apache CouchDB to be installed.";
label.setText(text);
// Launching the market will fail on emulators
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
launchMarket();
finish();
}
});
}
}
나는 이것에 대해 가지고있는 질문 (들)()이다
공공 무효 attemptLaunch을 : libcouch는 이전에 설치된 CouchDB를 "찾을"수 없습니다. 항상 시장에서 CouchDB 을 설치하려고 시도합니다. 이것은 실제로 CouchDBService에 바인드 할 수 없기 때문입니다. AIDL에서 생성 된 서비스 인터페이스의 목적을 이해함에 따라 다른 응용 프로그램에 IPC를 제공하려는 실제 서비스는 AIDL을 사용해야합니다. 이 경우 AIDL은 으로 원격 서비스에 바인드하려는 응용 프로그램 (이 경우 libcouch)으로 이동했습니다.
커밋을 검토하면 AIDL 파일이 해당 저장소에서 libcouch로 이동되었습니다.
완전한 연결을 위해, 여기에 안드로이드 CouchDB를 소스에 대한 링크는 다음과 같습니다 이제 github.com/couchone/libcouch-android
, 내 소견 완전히 잘못 될 수있다, 즉이야 매니페스트 또한 lincouch의의 수 뭔가 빠졌지 만, 나는 정말로 답을 얻기를 고대하고있다!
안녕하세요, Dave, 다시 살펴보고 다시 한 번 감사드립니다. 좋은 btw 명명! –
시장 설명에서 CouchDB의 게시일에 대한 정보를 공유 할 수 있습니까? –
게시일에 노트를 공유하고 시장 설명에서 CouchDB의 번호를 커밋 할 수 있습니까? –