【发布时间】:2020-02-03 11:43:02
【问题描述】:
我想在 Room 完成删除或添加一些项目后立即发送请求。对于数据库,我使用房间 + livedata,但对于添加/删除项目,我使用 doAsync。项目删除/添加完成后如何获得回调?
添加/删除和进入我的数据库的示例
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun saveUser(user: SavedUserModel)
@Query("SELECT * FROM SavedUserModel")
fun getUser(): List<SavedUserModel>
@Query("DELETE FROM SavedShoppingListModel WHERE id LIKE :id")
fun deleteById(id: String)
【问题讨论】:
-
“我使用 doAsync”——这是什么意思?由于您在 Kotlin 中,因此您可以切换到协程并让这些成为
suspend函数。使用协程,您将不再需要回调,因为当那些suspend函数返回时,您会发现工作何时完成。 -
@CommonsWare 他只是想检查查询是否执行到我猜的最后。
标签: android android-room