2017-10-27 16 views
0

私はルームライブラリを使用してアプリケーションのデータを保存し、取得しています。モデルクラスユーザには、Observableなどの変数があります。ここでObservableはRxJavaクラスです。しかし、今度はgradle buildが失敗しています - エラー:このフィールドをデータベースに保存する方法を理解できません。あなたはそれのためのタイプコンバータを追加することを検討することができます。Observable変数をRoom Persistenceテーブルに保存する方法はありますか?

Observable変数をテーブルに保存するにはどうすればいいですか? タイプコンバータは認識していますが、これを行う方法がわかりません。 ObservableからDatabaseへのString値の保存と同じように、データベースからデータを取得するときにObservableに再度変換します。

お願いします。

+1

Observableをデータベースに保存する理由を教えてください。 – maphongba008

+0

私はルームデータベースから検索されたモデルクラスオブジェクトの変更を観察することができます。ルームからユーザリストを取得することを参照してください。また、ユーザオブジェクトは、観察可能な名前変数を有しています。 class User {Observable name} この変数自体にobeserverを追加します。 –

+0

変更されたモデルを確認する方法は次のとおりです。https://medium.com/google-developers/room-rxjava-acb0cd4f3757 – maphongba008

答えて

0

あなたはその後、あなたのDAO

@Dao 
public class MyTableDao { 

    @Query("select my_string_value from my_table limit 1 ") 
    Flowable<String> selectMyStringValue(); 

} 


Flowable<String> flowable = myAppDataBase.getMyTableDao().selectMyStringValue(); 

を作成

@Entity(tableName = "my_table") 
public class MyTable { 

    @ColumnInfo(name = "my_string_value") 
    public String myStringValue; 
} 

のように気にいらを行うことができます私はあなたが観察を保存したい理由を知っている...しかし、あなたはいけないすべての最初はありません。

上記のコードを使用するには、FlowableのためにRxJava2の依存関係を追加する必要があります。

関連する問題