我正在努力使我的第一个协程功能正常工作!我有一个名为GetContacts的阻止函数,该函数可获取设备联系人。我想使用此查询的结果更新Livedata。此查询本身可以正常工作,但我似乎无法使其在协同程序中正常工作。
这是我的代码
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'}
我想念的是什么?任何帮助表示赞赏!
我正在努力使我的第一个协程功能正常工作!我有一个名为GetContacts的阻止函数,该函数可获取设备联系人。我想使用此查询的结果更新Livedata。 ...