#android #kotlin #android-livedata #kotlin-coroutines #android-workmanager
#Android #котлин #android-живые данные #kotlin-сопрограммы #android-workmanager
Вопрос:
При работе с Workmanager
, я столкнулся с проблемой, что я хотел, чтобы получить single LiveData Object
с ассоциированным tag
. Моя проблема заключалась в том, что Workmanager
только при условии getWorkInfosByTagLiveData
.
Есть ли способ получить один объект LiveData с соответствующим тегом?
Ответ №1:
Итак, вот простое решение:
Получить единую рабочую информацию в виде потока (для наблюдателя из ViewModel)
val singleWorkInfoAsFlow: Flow<WorkInfo> =
WorkManager.getInstance(context).getWorkInfosByTagLiveData("TAG").asFlow().map { it[0] }
Получить единую рабочую информацию как живые данные (для наблюдения из представления)
val singleWorkInfoAsLiveData: LiveData<WorkInfo> =
WorkManager.getInstance(context).getWorkInfosByTagLiveData("TAG").map { it[0] }
Я знаю, что это было не так сложно, но я надеюсь, что помог некоторым людям с этим. Если кто-то знает версию java, просто укажите ее здесь.
Приветствия