有关如何使用“协程支持房间”的文档

时间:2019-01-06 11:36:48

标签: android kotlin android-room coroutine

页面here表示协程现在支持空间,并且它们将依赖项指定为

implementation "androidx.room:room-coroutines:$room_version"

但是我找不到任何有关如何使用它的文档或代码示例。这里有线索吗?

3 个答案:

答案 0 :(得分:1)

就目前而言,这篇文章似乎是与该主题的“官方”指南最接近的东西:

Room Coroutines by Florina Muntenescu

此外,我在this项目中使用了room-coroutines,但不能保证用法是100%正确。

答案 1 :(得分:0)

这部分没有简单的文档。 我在正在进行的项目中使用了此功能,几乎就像使用原始程序 看看这个codeLab 还有这个article

答案 2 :(得分:0)

只需将suspend修饰符添加到您的DAO中,就像这样:

@Dao
interface WordDao {

    @Query("SELECT * from word_table ORDER BY word ASC")
    suspend fun getAllWords(): List<Word>

    @Insert
    suspend fun insert(word: Word)

    @Query("DELETE FROM word_table")
    suspend fun deleteAll()
}

用法示例可以是:

uiScope.launch {
            val words = WordRoomDatabase.INSTANCE.wordDao().getAllWords()
            //Print all the words
            words.forEach { Log.v(TAG, it) }
        }

根据Room codelab

改编的示例