从CouchDB上的数据库获取主要数据

时间:2017-07-11 11:48:10

标签: android couchdb couchbase-lite

我在Android上使用CouchDb + CouchBase Lite,但在监控复制时我遇到了很多麻烦。有时它会在所有数据转移之前完成。

如果您在浏览器上输入(如果您当然使用couchbd),请在订单中输入 http://1xx.xxx.xxx.x:5984/your_dataBase你会得到这样的东西:

  

{" DB_NAME":" your_dataBase"" doc_count":23123" doc_del_count":4812312," update_seq&# 34;:1050713," purge_seq":0," compact_running":假," DISK_SIZE":2598379649," DATA_SIZE":1231223,& #34; instance_start_time":" 14123213127176"" disk_format_version":6," committed_update_seq":1050713}

或多或少我可以知道具有此值的文档数字,因此在我的客户端代码中我可以将该数字与我拥有的文档进行比较

  

" doc_del_count":4812312

但我不知道如何访问json" main"数据,请注意http://184.xxx.xxx.x:xxxx/your_dataBase有一个用户和一个密码。

所以我的问题是:我如何获得CouchDB数据?

1 个答案:

答案 0 :(得分:1)

您必须使用主DB url创建一个基本认证,假设

  

xxx.xxx.x.xx:5984 / youDB

代码:

final String basicAuth =
                        Base64.encodeToString("yourUser:yourPass"
                                .getBytes(), Base64.NO_WRAP).replace("\n", "");

                URL url = new URL(PreferenceManager.getCouchdbserver());
                URLConnection urlc = url.openConnection();
                HttpGet httppost = new HttpGet(urlc.getURL().toString());
                HttpClient httpclient = new DefaultHttpClient();
                httppost.setHeader("Authorization", "Basic "+basicAuth);
                //HttpReponse response.....and all that stuff