how to fix unresolved reference lifecycleScope?

gianpaolo :

Trying to build a simple example that uses kotlin coroutines in an activity:

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

Can't get rid of error "unresolved reference lifecycleScope"

Relevant part of gradle file:

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'
}

}

ianhanniballake :

As per the Lifecycle KTX documentation, you must include the lifecycle-runtime-ktx artifact if you want Coroutine specific extensions.

Note that lifecycle-runtime-ktx was only introduced in Lifecycle 2.2.0, so you'll need to Migrate to AndroidX, then upgrade to Lifecycle 2.2.0 if you want to use that functionality.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=342436&siteId=1