我正在使用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时,它只运行一次。 谢谢大家的帮助。