实时查询Couchbase lite点对点

时间:2017-07-07 17:09:38

标签: java android couchbase couchbase-lite

我正在使用Couchbase制作Android应用。有两个设备连接到相同的WiFi同步数据。我使用的是Couchbase Sync Gateway,但项目需要是点对点的,中间没有Sync Gateway。当我使用Sync Gateway时,一个应用程序中的每个更改都会立即更新。但现在它没有用。我使用的功能:

private void showAnswers() {
    manager = DataManager.getSharedInstance(getApplicationContext());
    answersQuery = Answer.getAnswersForQuestion(manager.database, mQuestion.get_id());
    liveQuery = answersQuery.toLiveQuery();

    liveQuery.addChangeListener(new LiveQuery.ChangeListener() {
        @Override
        public void changed(LiveQuery.ChangeEvent event) {
            QueryEnumerator result = event.getRows();

            Map<String, Integer> counts = getAnswerCounts(result);

            adapter = (QuestionOptionsAdapter) mQuestionOptions.getAdapter();

            adapter.setAnswerCounts(counts);

            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    adapter.notifyDataSetChanged();
                }
            });
        }
    });
    liveQuery.start();
}

我不知道为什么Live Query更改侦听器不起作用。当我启动Activity时,它只运行一次。 谢谢大家的帮助。

0 个答案:

没有答案