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

问题描述:

最近开始在我的一个项目中使用rxJava。有几个演示,展示了使用retrofit及其可观察值进行显示,但有人可以通过我们自己的数据库显示一个例子。rxJava如何从sqlite中获取数据并显示在回收站视图中

我没有尝试过自己裁判:this question

,但我不能想办法给所有生成的对象observables适当地组合成可以在适配器内部一气呵成更新列表。 toList似乎在第一次运行后终止observable,因此不能直接使用。

谢谢!

+0

看看https://github.com/square/sqlbrite – LordRaydenMK

+0

使用'sqlbrite'意味着我将无法使用'db.insert'或'update'等方法。只支持'rawQuery'。我对吗? – sudshekhar

+2

有一个'BriteDatabase'类用于'SQLiteOpenHelper'的包装。它有更新/删除等方法http://square.github.io/sqlbrite/0.x/sqlbrite/index.html – LordRaydenMK

要使用RxJava观察对SQLite数据库的更改,您可以使用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的文档。