将 couchdb 与 Android 应用程序捆绑在一起

Posted

技术标签:

【中文标题】将 couchdb 与 Android 应用程序捆绑在一起【英文标题】:Bundling couchdb with android app 【发布时间】:2011-11-24 04:17:07 【问题描述】:

我按照这里的说明进行操作

http://www.couchbase.org/get/couchbase-mobile-for-android/current

启动 Couchdb 实例后,如何将 couchapp 从我的机器推送到模拟器?

【问题讨论】:

嗨。 CouchDB 在任何情况下都使用 HTTP,可以在 Android 以及任何其他操作系统上运行。你可以通过输入IP和端口访问服务器吗?如果是这样,您应该可以使用 couchapp couchapp.org 在其中推送应用程序。 【参考方案1】:

我注意到你的问题很老,但希望这个答案对你仍然有用。这就是我所做的。

首先,将port forwarding 设置到您的模拟器。

adb forward tcp:5985 tcp:5984

这使得在您的 Android 模拟器上运行的 CouchDB 实例在您的主机的端口 5985 上可用。验证它是否适用:

$ curl 本地主机:5985

您应该会收到您在模拟器上安装的版本的响应:

"couchdb":"Welcome","version":"1.2.0a-7b47329-git"

如果您使用的是 CouchApp 工具链,则可以将应用程序从文件系统推送到模拟器,如下所示:

沙发应用推送。 http://localhost:5985/my-app

或者,如果应用程序已经安装(推送)在您的服务器上(假设服务器是您的本地主机),您可以发出类似于以下内容的replicate command (HTTP POST):

$ curl -H 'Content-Type: application/json' -X POST http://localhost:5984/_replicate -d ' "source": "http://localhost:5984/my-app", "target": "http ://localhost:5985/my-app", "create_target": true, "continuous": true '

这应该可以解决问题。如果您遇到任何麻烦,请告诉我。

【讨论】:

嘿,我发现这真的很有帮助!我知道这很旧,但我想知道如何为真正的手机做同样的事情!不只是模拟器!我们可以以某种方式将这个过程包含在应用程序中吗?所以我们不需要电脑? 我不确定我是否理解您的问题。 CouchDB API 是 HTTP(这就是让它很好用的原因)。如果您可以点击 CouchDB 正在运行的端口,您应该能够在两个实例之间进行复制。问这个问题的原因是因为模拟器让它有点困难,因为你必须在让它像普通 CouchDB 实例一样做出反应之前进行移植。

以上是关于将 couchdb 与 Android 应用程序捆绑在一起的主要内容,如果未能解决你的问题,请参考以下文章

您可以将 CouchDB 的“文档更新处理程序”与复制一起使用吗?

Android Couchdb - libcouch 和 IPC Aidl 服务

同一设备上的每个用户一个pouchDB与单个CouchDB同步

SQL(MySQL)与 NoSQL(CouchDB)[关闭]

将 CouchDB 与 Node.js 库一起使用

将 PouchDB 与 MongoDB 一起使用