Intentando construir un ejemplo simple que use corrutinas kotlin en una actividad:
lifecycleScope.launch { val result = httpGet("http://hmkcode-api.appspot.com/rest/api/hello/Android") textView.setText(result) }No puedo deshacerme del error "LifecycleScope de referencia sin resolver"
Parte relevante del archivo 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' }}
Según la documentación de Lifecycle KTX , debe incluir el artefacto lifecycle-runtime-ktx si desea extensiones específicas de Coroutine.
Tenga en cuenta que lifecycle-runtime-ktx solo se introdujo en Lifecycle 2.2.0 , por lo que deberá migrar a AndroidX y luego actualizar a Lifecycle 2.2.0 si desea usar esa funcionalidad.
Respuesta tardía aquí, pero también enfrenté este problema y finalmente logré resolverlo cambiando la Activity de Android heredada a AppCompatActivity .