Я работаю над собственным приложением CouchdDB с Android.На этой неделе CouchOne выпустила libcouch, который описывается как «Библиотечные файлы, необходимые для взаимодействия с CouchDB на Android»: couchone_libcouch @ Github
Это базовое приложение, которое устанавливает CouchDB, если служба CouchDB (который поставляется с CouchDB, если он был установлен ранее) не может быть привязан к.
Если быть более точным, насколько я понимаю: libcouch оценивает присутствие CouchDb на устройстве, пытаясь привязаться к службе IPC из CouchDBи через этот сервис хочет связаться с CouchDB.
Пожалуйста, ознакомьтесь с методом "tryLaunch ()" в CouchAppLauncher.class, чтобы просмотреть это:
public void tryLaunch () {
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();
}
});
}
}
У меня есть следующие вопросы: libcouch никогда не может «найти» ранее установленную CouchDB.Он всегда пытается установить CouchDB с маркета.Это связано с тем, что он никогда не может связываться с CouchDBService.Как я понимаю, цель создания интерфейсов сервисов, созданных AIDL, реальная служба, которая намеревается предложить свой IPC другим приложениям, должна использовать AIDL.В этом случае AIDL был перемещен в приложение, которое пытается привязаться к удаленной службе, в данном случае это libcouch.
Просмотр коммитов файлы AIDL только что были перемещены из этого хранилища в libcouch,
Для полной связи, вот ссылка на источники Android CouchDB: github.com/couchone/libcouch-android
Теперь, я могу быть совершенно неправ в своих выводах, это может быть также ЛинкушМанифест, который что-то упустил, но я действительно жду ответов!