Android Couchbase Lite获取所有频道

时间:2015-10-05 12:20:29

标签: android couchbase couchbase-lite

萨拉姆
是否有可能获得验证用户身份的所有频道都可以访问它? 我想在频道类别中显示用户文档

1 个答案:

答案 0 :(得分:1)

在文档中添加“channels”peroperty然后:

        com.couchbase.lite.View channelView = _database.getView("channels");
        channelView.setMap(new Mapper() {
            @Override
            public void map(Map<String, Object> document, Emitter emitter) {
                ArrayList<String> channel = (List) document.get("channel");
                String name = (String) document.get("ch_name");
                emitter.emit(channel, name);
            }
        }, "2");


private void startLiveQuery(com.couchbase.lite.View view) throws Exception {
    if (_liveQuery == null) {
        _liveQuery = view.createQuery().toLiveQuery();
        _liveQuery.addChangeListener(new LiveQuery.ChangeListener() {
            public void changed(final LiveQuery.ChangeEvent event) {
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        for (final Iterator<QueryRow> it = event.getRows(); it.hasNext(); ) {
                            QueryRow query = it.next();
                            _channel = (String) query.getKey();
                            _name = (String) query.getValue();
                        }
                    }
                }).start();
            }
        });
        _liveQuery.start();
    }
}