更新数据库VS实时数据表中的所有数据

时间:2019-05-09 18:55:39

标签: android mvvm viewmodel

我需要迭代数据,并向API请求数据以进行更新。我无法执行此操作,因为数据位于LiveData中,我的方法位于存储库中,因此我无法在此处进行观察。

您看到任何解决方案了吗?

我暂时用map方法编写方法

val chaptersWithProgress = ArrayList<ChapterProgressItem>()
Transformations.map(_database.bookWithChaptersDao.fetchBooks()) { list ->
            list.forEach { book ->
                Transformations.map(_database.bookWithChaptersDao.fetchChaptersForBook(book.id)) { chapters ->
                    chapters.forEach {
                        chaptersWithProgress.add(ChapterProgressItem(it.id, it.progress))
                        Log.d(TAG, "chapter: $it")
                    }
                }
                _bookApi.updateBookChaptersProgress(book.id, ChapterProgressMap(chaptersWithProgress))
                chaptersWithProgress.clear()
            }
        }

0 个答案:

没有答案