And*_*Lam 5 android rx-java2 android-room
我正在将Android Room与RxJava一起使用
dependencies {
implementation 'androidx.room:room-rxjava2:2.1.0-alpha02'
}
Run Code Online (Sandbox Code Playgroud)
我需要从参数化删除方法中获取Completable,我认为此功能从2.1.0开始添加?例如
@Query("DELETE FROM message_table WHERE uid = :id")
Completable delete(String id);
@Query("DELETE FROM message_table")
Completable deleteAll();
Run Code Online (Sandbox Code Playgroud)
仍然会引发错误: Deletion methods must either return void or return int (the number of deleted rows).
由于错误消息试图告诉:
使用@Query,您必须将返回的数据类型从更改Completable为int或void。
将Completable需要订阅的另一种方法,它运行的方法Dao:
Completable
.fromAction(aMethodWhichCallsDao)
.subscribeOn(Schedulers.single())
.subscribe();
Run Code Online (Sandbox Code Playgroud)
或使用@Delete@Commonsware建议的注释(以防广告宣传)。
我不知道你是否还需要这个,但今天刚进入同样的事情,发现你需要使用所有这 3 个库来创建 DAO 方法以返回 Completable:
implementation 'androidx.room:room-runtime:2.2.1'
kapt 'androidx.room:room-compiler:2.2.1'
implementation 'androidx.room:room-rxjava2:2.2.1'
Run Code Online (Sandbox Code Playgroud)
我希望这能帮到您。
| 归档时间: |
|
| 查看次数: |
1076 次 |
| 最近记录: |