【发布时间】:2017-10-28 04:02:00
【问题描述】:
尝试使用 RxJava 适配器测试新的 Android Room 库。如果我的查询从数据库返回 0 个对象,我想处理结果:
所以这里是DAO方法:
@Query("SELECT * FROM auth_info")
fun getAuthInfo(): Flowable<AuthResponse>
以及我的处理方式:
database.authDao().getAuthInfo()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.switchIfEmpty { Log.d(TAG, "IS EMPTY") }
.firstOrError()
.subscribe(
{ authResponse -> Log.d(TAG, authResponse.token) },
{ error -> Log.d(TAG, error.message) })
我的数据库是空的,所以我希望 .switchIfEmty() 能够工作,但没有任何处理方法被触发。 .subscribe() 和 .switchIfEmpty() 都不是
【问题讨论】:
标签: android kotlin rx-java2 android-room