使用Flowable / Observable时,从Room @Query生成的代码不正确

时间:2019-04-11 01:55:59

标签: android rx-java2 android-room

当尝试在房间中使用RxJava时,出现一个错误,提示生成的代码是错误的。返回Single时,它可以正常工作。但是,当使用flowable或observable时,向生成的方法添加额外的布尔参数会导致错误。

查询

@Query("SELECT * FROM cards")
fun cardsStream(): Observable<List<Card>>

错误

error: no suitable method found for createObservable(RoomDatabase,boolean,String[],<anonymous Callable<List<Card>>>)

生成的方法。如果删除false,则它将编译。但是显然,我无法做到这一点,因为这是生成的代码。

return RxRoom.createObservable(__db, false, new String[]{"cards"}, new Callable<List<Card>>() {

2 个答案:

答案 0 :(得分:1)

替换

implementation 'androidx.room:room-rxjava2:2.0.0'

使用

implementation 'androidx.room:room-rxjava2:2.1.0-alpha06'

修复它。

答案 1 :(得分:1)

我也遇到了相同的错误,但我的问题是我从AndroidX导入了room库,而从较旧的appcompat类型库导入了room-rxjava。 ?‍♂️