如何使用新的androidx.lifecycle:*:2.2.0-alpha01获取lifecycle.coroutineScope

时间:2019-05-08 07:00:40

标签: android android-architecture-components android-jetpack

2019年5月7日androidx.lifecycle:*:2.2.0-alpha01发布,宣布:

  

此版本增加了新功能,这些功能增加了对Lifecycle和LiveData的Kotlin协程的支持。可以在此处找到有关它们的详细文档。

documentation上提到我可以得到LifecycleScope

  

通过lifecycle.coroutineScopelifecycleOwner.lifecycleScope属性

但是似乎我找不到它们。我目前的依赖条件是:

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'

可能是什么原因以及如何获得这些API?

2 个答案:

答案 0 :(得分:17)

我实际上花了几个小时试图自己弄清楚这一点,结果发现它在一个仅存在于alpha版本的新程序包中。添加此内容,您应该就很好了。

implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_ver"

答案 1 :(得分:0)

可接受的答案有效,但是我第一次被滥用,所以我想弄清楚,lifecycle的当前版本是"2.1.0"lifecycleScope ,并且ViewModelScope在此版本中不可用,以便使用它们

对于 ViewModelScope ,请使用androidx.lifecycle:lifecycle-viewmodel-ktx:2.1.0-beta01或更高版本。

对于 LifecycleScope ,请使用androidx.lifecycle:lifecycle-runtime-ktx:2.2.0-alpha01或更高版本。

目前"2.2.0-rc02"可用