2
votes

Documentation sur l'utilisation de 'coroutines support for room'

La page ici indique que les coroutines prennent désormais en charge room et ils ont donné la dépendance comme

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

Mais je ne trouve aucune documentation ou exemple de code sur la façon de l'utiliser. Des prospects ici?


0 commentaires

3 Réponses :


0
votes

il n'y a pas de documentation directe pour cette partie. J'ai utilisé cette fonctionnalité sur un projet en cours, cela ressemble presque à l'utilisation de l'orignal coroutin Jetez un œil à ceci codeLab et aussi cet article


2 commentaires

Notez que l ' article concerne une API coroutines plus ancienne. Je suggère d'attendre une meilleure ressource.


Je suis d'accord avec vous, cet article concerne les coroutines plus anciennes mais il est utile de construire les choses progressivement en appliquant la partie disponible maintenant puis en la refactorisant pour de meilleures performances et améliorations @ Alex.F



0
votes

Ajoutez simplement le modificateur suspend à votre DAO comme ceci:

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

L'exemple d'utilisation peut être:

@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()
}

Exemples adaptés du Room codelab


0 commentaires

1
votes

Pour l'instant, cet article semble être la chose la plus proche d'un guide "officiel" sur ce sujet:

Salle 🔗 Coroutines par Florina Muntenescu .

J'ai également utilisé room-coroutines dans ceci projet, mais je ne peux pas garantir que l'utilisation est correcte à 100%.


0 commentaires