无法启动我的第一个Kotlin协程功能

我正在努力使我的第一个协程功能正常工作!我有一个名为getcontacts的阻止函数,该函数可获取设备联系人。我想使用此查询的结果更新Livedata。该查询本身可以很好地工作,但是我似乎无法在Coroutine中使用它。

这是我的代码

   val contactsList: MutableLiveData<List<ContactModel>> = MutableLiveData()

    fun getcontactList(){
        viewModelScope.launch() {
            var contacts: List<ContactModel>? = null
            withContext(Dispatchers.IO){
                contacts = getListOfContactsOnDeviceAsync()
            }
            contactsList.value = contacts
        }
    }

    private fun getListOfContactsOnDeviceAsync(): List<ContactModel> =  getcontactHelper.getcontacts()

当我明显添加了Android Coroutine依赖项时,我收到错误消息“缺少与主调度器的模块。添加提供主调度器的依赖项,例如'kotlinx-coroutines-android'”。

dependencies {
    implementation 'com.android.support:multidex:1.0.3'
    implementation fileTree(include: ['*.jar'],dir: 'libs')
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.2'}

我想念什么?任何帮助表示赞赏!

chejixian 回答:无法启动我的第一个Kotlin协程功能

在Kotlin Coroutines库1.3.2中似乎是一个问题,请看一下此issue,因此,作为解决方案,请尝试将您的android coroutine库降级至1.3.0版本,如@ispbox在此所述comment

本文链接:https://www.f2er.com/3156130.html

大家都在问