【发布时间】:2019-01-01 21:05:57
【问题描述】:
我正在使用带有 RxJava 的 Android Room
dependencies {
implementation 'androidx.room:room-rxjava2:2.1.0-alpha02'
}
我需要从参数化删除方法中获取 Completable,我认为这个功能是从 2.1.0 开始添加的?例如。
@Query("DELETE FROM message_table WHERE uid = :id")
Completable delete(String id);
@Query("DELETE FROM message_table")
Completable deleteAll();
仍然抛出错误:Deletion methods must either return void or return int (the number of deleted rows).
【问题讨论】:
-
发行说明有:“额外的 Rx 返回类型支持:使用 @Insert、@Delete 或 @Update 注释的 DAO 方法现在支持 Rx 返回类型 Completable、Single
和 Maybe ”。不过, @Query中没有提到DELETE。 -
我认为你不能像这样使用它,你需要像这样
Single.fromCallable回调创建它并使deleteAll返回int
标签: android rx-java2 android-room