Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin 如何知道何时使用room将数据插入表中?_Kotlin_Android Room_Kotlin Coroutines - Fatal编程技术网

Kotlin 如何知道何时使用room将数据插入表中?

Kotlin 如何知道何时使用room将数据插入表中?,kotlin,android-room,kotlin-coroutines,Kotlin,Android Room,Kotlin Coroutines,我正在使用room和kotlin协同程序来管理数据库。在下一个活动中存储数据之后,我需要访问存储在数据库中的数据,但由于数据尚未存储,所以会出现错误。如何知道数据何时插入表中 wordViewModel.insert(it.body()!!.guests[0]) val intent = Intent(this, Main2Activity::class.java) startActivity(intent) 一种方法是在模型实体上创建内容观察者。您可以在线查找教程。基本上,内容观察者就是它的

我正在使用room和kotlin协同程序来管理数据库。在下一个活动中存储数据之后,我需要访问存储在数据库中的数据,但由于数据尚未存储,所以会出现错误。如何知道数据何时插入表中

wordViewModel.insert(it.body()!!.guests[0])
val intent = Intent(this, Main2Activity::class.java)
startActivity(intent)

一种方法是在模型实体上创建内容观察者。您可以在线查找教程。基本上,内容观察者就是它的名字所暗示的,它观察内容并通知您是否有新的“内容”可用(在本例中是数据库中的更改)

我想说,另一个更好的方法是利用LiveData。在
Dao
中,您只需添加具有类似签名的方法:

@Query(/*put your select query here*/)
fun getAll(): LiveData<List<YourModelClass>>

插入的签名是什么?
yourDao.getAll().observe(this, Observer { /* your observer implementation */ })