【问题标题】:Android Couchdb - libcouch and IPC Aidl ServicesAndroid Couchdb - libcouch 和 IPC Aidl 服务
【发布时间】:2011-02-01 23:17:23
【问题描述】:

我正在开发一个带有 android 的原生 CouchdDB 应用程序。就在本周,CouchOne 发布了 libcouch,被描述为“在 Android 上与 CouchDB 交互所需的库文件”: couchone_libcouch@Github

这是一个安装 CouchDB 的基本应用程序,如果 CouchDB 服务(如果之前已安装,则随 CouchDB 一起提供) 无法绑定。

更准确地说,据我所知: libcouch 通过尝试从 CouchDB 绑定到 IPC 服务来估计设备上 CouchDb 的存在 并通过该服务与 CouchDB 进行通信。

请参阅方法“attemptLaunch()” CouchAppLauncher.class 审查这个:

公共无效尝试启动(){

    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。 据我了解 auf AIDL 生成服务接口的目的,实际 打算将其 IPC 提供给其他应用程序的服务应使用 AIDL。在这种情况下,AIDL 已被移动 到试图绑定到远程服务的应用程序,在这种情况下是 libcouch。

查看刚刚从存储库移出到 libcouch 的 AIDL 文件的提交。

对于完整的链接,这里是 Android CouchDB 源的链接: github.com/couchone/libcouch-android

现在,我的发现可能完全错误,也可能是 lincouch 的清单遗漏了一些东西,但我真的很期待得到一些答案!

【问题讨论】:

    标签: android service couchdb ipc aidl


    【解决方案1】:

    我在一封电子邮件中回复了这里的任何人。

    libcouch 库包含在核心 CouchDB 应用程序中,并供客户端应用程序使用,因此 CouchDB 服务确实包含这些辅助文件。

    您可能能够使用该服务的原因是市场上有两个版本的 CouchDB,一个没有任何服务的旧版本,一个新版本(2.1 用户不可见)。今晚更新的 CouchDB 应用程序已为 2.1 用户重新发布,旧版本已删除。

    CouchAppLauncher 的源代码应该可以帮助您了解如何使用该服务,我也会很快发布一个教程

    谢谢 戴尔

    【讨论】:

    • 您好,戴夫,我会再次调查,再次感谢您。好名字顺便说一句!
    • 能否在市场描述中分享一些关于 CouchDB 发布日期的注释?
    • 能否分享一些关于发布日期的注释,或者市场描述中 CouchDB 的提交号?
    【解决方案2】:

    为了完整起见,我认为有人为 android 上的 couchapps 发布了一个非常好的 tutorial:)

    【讨论】:

      猜你喜欢
      • 2016-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-19
      • 1970-01-01
      • 2016-02-12
      • 2022-12-29
      • 1970-01-01
      相关资源
      最近更新 更多