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

问题描述 投票:0回答:4

2019年5月7日

androidx.lifecycle:*:2.2.0-alpha01
发布并宣布:

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

文档中提到我可以获得

LifecycleScope

通过

lifecycle.coroutineScope
lifecycleOwner.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?

android android-architecture-components android-jetpack
4个回答
74
投票

我实际上花了几个小时试图自己解决这个问题,结果发现它是在一个仅在 alpha 版本中存在的新包中。添加这个,你就可以开始了。

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

9
投票

接受的答案有效,但我第一次被误用,所以我试图澄清,

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.4.1
可用。


0
投票

我刚刚将这两行代码添加到我的 build.gradle(应用程序)中,效果非常好。我可以毫无问题地导入生命周期范围。

implementation 'androidx.navigation:navigation-fragment-ktx:2.5.2'
implementation 'androidx.navigation:navigation-ui-ktx:2.5.2'

0
投票

在 Build.Gradle 中尝试这行代码(应用程序级别)

实现(“androidx.lifecycle:lifecycle-runtime-ktx:2.2.0”)

© www.soinside.com 2019 - 2024. All rights reserved.