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?
我实际上花了几个小时试图自己解决这个问题,结果发现它是在一个仅在 alpha 版本中存在的新包中。添加这个,你就可以开始了。
implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_ver"
接受的答案有效,但我第一次被误用,所以我试图澄清,
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
可用。
我刚刚将这两行代码添加到我的 build.gradle(应用程序)中,效果非常好。我可以毫无问题地导入生命周期范围。
implementation 'androidx.navigation:navigation-fragment-ktx:2.5.2'
implementation 'androidx.navigation:navigation-ui-ktx:2.5.2'
在 Build.Gradle 中尝试这行代码(应用程序级别)
实现(“androidx.lifecycle:lifecycle-runtime-ktx:2.2.0”)