我在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数据?
答案 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