2016-08-17 82 views
0

最近開始在我的一個項目中使用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

回答

0

要使用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的文檔。

相關問題