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

rxJava how to fetch data from sqlite and showing in recycler view

最近开始在我的一个项目中使用 rxJava。有几个演示展示了 retrofit 的使用及其用于显示的可观察对象,但有人可以展示一个使用我们自己的数据库执行此操作的示例。

我自己试过了参考:

但是我无法想出一种方法来将所有生成的对象 observables 正确组合到一个列表中,该列表可以在适配器内部一次性更新。 toList好像是在第一个运行之后终止了observable,所以不能直接使用。

谢谢!

要使用 RxJava 观察 SQLite 数据库的变化,您可以使用 SQLBrite.

要查询 table 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...
  }
});

只要您订阅了 updates/inserts,您也会收到通知。

代码示例来自 github.

上的文档