【发布时间】:2019-03-15 14:15:05
【问题描述】:
尝试尝试mvvm和livedata,我在数据库Room中有查询
@Query("SELECT * FROM User ")
fun getAllUsers(): LiveData<MutableList<User>>
@Query("SELECT * FROM User ")
fun getAllUsersRx(): Flowable<MutableList<User>>
我从 ViewModel 中调用方法,这两种情况都会发生,但如果一切都通过 rx 在另一个线程中工作,那么对于 LiveData,一切都应该在 mainThread 中发生。但是为什么 Room 没有给出错误 IllegalStateException: Cannot access the database on the main thread?在这种情况下直接使用LiveData向Room请求数据是否正确,还是需要我自己将操作转移到另一个线程?
【问题讨论】:
标签: android database rx-java android-room android-livedata