Android:Workmanager getWorkInfoByTagLiveData,将getWorkInfosByTagLiveData 转换为单个LiveData
Android: Workmanager getWorkInfoByTagLiveData, convert getWorkInfosByTagLiveData to single LiveData
在使用 Workmanager
时,我遇到了一个问题,我想得到一个 single LiveData Object
和关联的 tag
。我的问题是,Workmanager
只提供了 getWorkInfosByTagLiveData
。
有没有办法获取带有关联标签的单个 LiveData 对象?
所以这是简单的解决方案:
获取单个 WorkInfo 作为 Flow(从 ViewModel 到观察者)
val singleWorkInfoAsFlow: Flow<WorkInfo> =
WorkManager.getInstance(context).getWorkInfosByTagLiveData("TAG").asFlow().map { it[0] }
获取单个 WorkInfo 作为 LiveData(从 View 观察)
val singleWorkInfoAsLiveData: LiveData<WorkInfo> =
WorkManager.getInstance(context).getWorkInfosByTagLiveData("TAG").map { it[0] }
我知道这并不难,但我希望我能帮助到一些人。如果有人知道 java 版本,请在此处提供。
干杯
在使用 Workmanager
时,我遇到了一个问题,我想得到一个 single LiveData Object
和关联的 tag
。我的问题是,Workmanager
只提供了 getWorkInfosByTagLiveData
。
有没有办法获取带有关联标签的单个 LiveData 对象?
所以这是简单的解决方案:
获取单个 WorkInfo 作为 Flow(从 ViewModel 到观察者)
val singleWorkInfoAsFlow: Flow<WorkInfo> =
WorkManager.getInstance(context).getWorkInfosByTagLiveData("TAG").asFlow().map { it[0] }
获取单个 WorkInfo 作为 LiveData(从 View 观察)
val singleWorkInfoAsLiveData: LiveData<WorkInfo> =
WorkManager.getInstance(context).getWorkInfosByTagLiveData("TAG").map { it[0] }
我知道这并不难,但我希望我能帮助到一些人。如果有人知道 java 版本,请在此处提供。
干杯