try 构建一个在活动中使用kotlin协程的简单示例:

   lifecycleScope.launch {
             val result = httpGet("http://hmkcode-api.appspot.com/rest/api/hello/Android")
              textView.setText(result)
   }

无法摆脱错误"未解析的引用生命周期范围"

gradle文件的相关部分:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'



dependencies {

implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.2'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.2'
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-rx2:1.3.2"

def androidArchVersion = '1.1.1'
implementation "android.arch.lifecycle:viewmodel:$androidArchVersion"
implementation "android.arch.lifecycle:livedata:$androidArchVersion"
annotationProcessor "android.arch.lifecycle:compiler:$androidArchVersion"
testImplementation "android.arch.core:core-testing:$androidArchVersion"
implementation "android.arch.lifecycle:extensions:$androidArchVersion"
}

kotlinOptions {
    jvmTarget = '1.8'
    apiVersion = '1.3'
    languageVersion = '1.3'
}

}

推荐答案

根据Lifecycle KTX documentation,如果您想要特定于协同路由的扩展,那么必须包含lifecycle-runtime-ktx工件.

请注意,lifecycle-runtime-ktx只是在Lifecycle 2.2.0中引入的,所以如果您想使用该功能,则需要升级到Migrate to AndroidX,然后升级到生命周期2.2.0.

Kotlin相关问答推荐

映射中列表类型的Kotlin可空接收器?

为什么";";.equals(1)在柯特林语中是有效的,但";";=1是无效的?

我可以在kotlin/java.util.scanner中跳过分隔符而不重复吗?

KTOR';S函数`staticResources`在Kotlin本机目标上不可用

我可以更改方法中泛型类的类型参数边界吗?

Kotlin中反射中Int到可空Double的隐式转换失败

如何在 Spring Boot 3 中为内部类提供运行时提示

内容更改后的 var 重新计算

如何使用子变量在 Kotlin 中初始化父级

Jetpack Compose 中的连续重组

Kotlin 编译器在构造函数中报告未使用的表达式,以便构建器采用 vararg lambda

使用纯 Kotlin 函数作为 Junit5 方法源

Kotlin 的 isNullOrBlank() 函数是否可以导入 xml 以用于数据绑定

如何在 Kotlin 文件中的 Android Studio 中控制何时将 Imports 替换为通配符

无法创建类 ViewModel kotlin 的实例

Android Studio 4.0.0 Java 8 库在 D8 和 R8 构建错误中脱糖

如何在 Spring WebFlux 的响应正文中流式传输二进制数据

Kotlin中的下划线名称是为什么保留的?

Kotlin 扩展函数 - 覆盖现有方法

使用范围的稀疏sparse值列表