2017-10-27 1 views
0

방 라이브러리를 사용하여 응용 프로그램의 데이터를 저장하고 검색하고 있습니다. 모델 클래스 사용자에는 Observable 등의 변수가 있습니다. Observable은 RxJava 클래스입니다. 하지만 지금은 gradle 빌드가 실패했습니다 - 오류 : 데이터베이스에이 필드를 저장하는 방법을 알아낼 수 없습니다. 당신은 그것에 대한 타입 변환기를 추가하는 것을 고려할 수 있습니다.방목 테이블에 Observable 변수를 저장하는 방법이 있습니까?

그래서 Observable 변수를 테이블에 저장할 수 있습니까? 유형 변환기를 알고 있지만이를 수행하는 방법을 알 수 없습니다. Observable에서 Database로 String 값을 저장하는 것과 마찬가지로 Database에서 데이터를 가져올 때 Observable로 다시 변환하십시오.

어떤 힌트를 주시겠습니까?

+1

왜 Observable을 데이터베이스에 저장 하시겠습니까? – maphongba008

+0

그래서 룸 데이터베이스에서 검색 한 모델 클래스 객체의 변경 사항을 관찰 할 수 있습니다. 방에서 사용자 목록 가져 오기를 참조하십시오. 그리고 사용자 개체는 관찰 가능한 이름 변수를가집니다. class User {Observable name} 그래서이 변수 자체에 obeserver를 추가합니다. –

+0

변경된 모델을 확인하는 방법은 다음과 같습니다. https://medium.com/google-developers/room-rxjava-acb0cd4f3757 – maphongba008

답변

0

당신은 당신이 관찰 가능한을 저장하려는 이유

@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; 
} 

같은 뭔가를해야만이 그런 다음 DAO를 생성 할 수 있습니다 ...하지만 우선 당신은 안 .

위의 코드를 사용하려면 Flowable이 가능하므로 RxJava2 종속성을 추가해야합니다.

관련 문제