web-dev-qa-db-fra.com

Comment obtenir lifecycle.coroutineScope avec le nouveau androidx.lifecycle: *: 2.2.0-alpha01

Le 7 mai 2019 androidx.lifecycle:*:2.2.0-alpha01 a été publié annonçant:

Cette version ajoute de nouvelles fonctionnalités qui ajoutent la prise en charge des coroutines Kotlin pour Lifecycle et LiveData. Une documentation détaillée à leur sujet peut être trouvée ici.

Sur documentation il est mentionné que je peux obtenir le LifecycleScope:

soit via lifecycle.coroutineScope ou lifecycleOwner.lifecycleScope Propriétés

Mais il semble que je ne puisse en trouver aucun. Mes dépendances actuelles sont:

def lifecycle_ver = "2.2.0-alpha01"
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_ver"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_ver"
implementation "androidx.lifecycle:lifecycle-common-Java8:$lifecycle_ver"

implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.2.1'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-Android:1.2.1'

Quelle peut être la cause et comment obtenir ces apis?

16
Rajarshi

En fait, j'ai passé quelques heures à essayer de comprendre cela moi-même et il se trouve que c'est dans un nouveau package qui n'existe qu'à partir de l'alpha. Ajoutez ceci et vous devriez être prêt à partir.

implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_ver"
28
Matt Butlar

Les réponses acceptées fonctionnent, mais je suis mal utilisé pour la première fois, donc j'essaie de clarifier les choses, la version actuelle de lifecycle est "2.1.0" et lifecycleScope, et ViewModelScope n'est pas disponible dans cette version, pour les utiliser

Pour ViewModelScope, utilisez androidx.lifecycle:lifecycle-viewmodel-ktx:2.1.0-beta01 ou plus.

Pour LifecycleScope, utilisez androidx.lifecycle:lifecycle-runtime-ktx:2.2.0-alpha01 ou plus.

en ce moment "2.3.0-alpha01" est disponible

1
Jimale Abdi