如何使用协程以及何时知道收到数据?

问题描述 投票:0回答:1

嘿,所以我想记录用户完成的测验的所有结果并将其呈现在回收器视图中。为此,我使用 Android Room DB、MVVM 架构和协程。

数据将像

Dao->View Model(and then,through Live Data to UIC). 

一样流动

我想使用 Enum 实现代码,但我不知道该怎么做。我想使用一个枚举类,它有值(NEUTRAL、LOADING、AVAILABLE),所有这些都有一个

val list : LiveData<LiveData<ResultFile>>
显然,主要用途将是可用的。

我问你的问题是,在视图模型中写什么,比如哪个协程,以及到底要在其中写什么。我如何知道表中的所有行何时从数据库中获取并进入虚拟机?

以下为截图 实体

我尝试了,但不知道数据什么时候能到达?

android kotlin android-room kotlin-coroutines android-mvvm
1个回答
0
投票

据我了解,根据你的问题,你可以使用Coroutines,这完全取决于你要使用的情况。在协程中使用调度程序。 Dispatcher 决定在 Kotlin Coroutines 中使用哪个线程,有 4 个线程,但主要使用 3 个(Default、Main 和 IO)。根据您提供的情况,当从 RoomDB 获取数据(使用线程 IO)以及要在 UI 中显示数据时(使用线程 Main),您可以在下面使用Coroutines .

© www.soinside.com 2019 - 2024. All rights reserved.