rxJava如何从sqlite中获取数据并显示在回收站视图中
问题描述:
最近开始在我的一个项目中使用rxJava
。有几个演示,展示了使用retrofit
及其可观察值进行显示,但有人可以通过我们自己的数据库显示一个例子。rxJava如何从sqlite中获取数据并显示在回收站视图中
我没有尝试过自己裁判:this question
,但我不能想办法给所有生成的对象observables
适当地组合成可以在适配器内部一气呵成更新列表。 toList
似乎在第一次运行后终止observable
,因此不能直接使用。
谢谢!
答
要使用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的文档。
看看https://github.com/square/sqlbrite – LordRaydenMK
使用'sqlbrite'意味着我将无法使用'db.insert'或'update'等方法。只支持'rawQuery'。我对吗? – sudshekhar
有一个'BriteDatabase'类用于'SQLiteOpenHelper'的包装。它有更新/删除等方法http://square.github.io/sqlbrite/0.x/sqlbrite/index.html – LordRaydenMK