gpt4 book ai didi

android - 使用协程 api 获取实体

转载 作者:行者123 更新时间:2023-12-02 13:33:51 25 4
gpt4 key购买 nike

coroutines 的最佳使用方法是什么?与 LiveData 一起使用 Room 从数据库中选择一些数据.
这是暂停选择的我的道课

@Dao
interface UserDao {

@Query("SELECT * from user_table WHERE id =:id")
suspend fun getUser(id: Long): User
}
在 View Model 类中,我使用 viewModelScope 加载用户.
获取用户实体的方法是否正确?
fun load(userId: Long, block: (User?) -> Unit) = viewModelScope.launch {
block(dao.getUser(userId))
}
根据 developer android提及
val user: LiveData<User> = liveData {
val data = database.loadUser() // loadUser is a suspend function.
emit(data)
}
这段代码不起作用

最佳答案

您的房间必须返回 LiveData。

改用:

@Dao
interface UserDao {

@Query("SELECT * from user_table WHERE id =:id")
fun getUser(id: Long): LiveData<User>
}

关于android - 使用协程 api 获取实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59859988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com