rxJava如何从sqlite中获取数据并在recycleler视图中显示

时间:2016-08-17 09:58:00

标签: sqlite android-recyclerview rx-java rx-android

最近开始在我的一个项目中使用rxJava。有几个demoes在那里展示了使用retrofit及其可观察的显示,但有人可以展示一个用我们自己的数据库做这个的例子。

我自己试了一下ref:this question

但是我无法想出一种方法来将所有生成的对象observables正确地组合到一个可以在适配器内一次更新的列表中。 toList似乎在第一次运行后终止observable,因此无法直接使用。

谢谢!

1 个答案:

答案 0 :(得分:1)

要使用SQLite观察对RxJava数据库的更改,您可以使用SQLBrite

要查询表users,您可以使用:

Observable<Query> users = db.createQuery("users", "SELECT * FROM users");
users.subscribe(new Action1<Query>() {
  @Override public void call(Query query) {
    Cursor cursor = query.run();
    // TODO parse data...
  }
});

只要您订阅,您还会收到更新/插入的通知。

代码示例来自github上的文档。