android 找不到kotlinx.协同程序

xqkwcwgp  于 2023-01-24  发布在  Android
关注(0)|答案(2)|浏览(110)

我正在编写React Native并实现了一个Android自定义UI组件。我发送给组件的一个 prop 是一个大型对象数组。Android(Kotlin)中的反序列化需要一些时间(〉200ms),我正在尝试使用async来防止阻塞UI。

@ReactProp(name = "items")
fun setItems(view: CustomListView, items: ReadableArray) {
    async {
        val itemsList = deserializItems(items)
        view.setItems(itemsList)
    }
}

但是Android Studio说:Unresolved reference: async
我将以下内容添加到了我的应用程序build.gradle

implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4"

并尝试手动导入kotlinx.coroutines,但Android Studio也找不到它。
如何在Android中获得async功能?

sqyvllje

sqyvllje1#

您需要一个协程作用域来调用async
我不熟悉react开发,但我将如何在视图模型中使用它。

val asyncFunction = viewModelScope.async {
        //do your background work here
    }

然后您需要稍后对其进行await()

viewModelScope.launch {
        asyncFunction.await()
    }

对于导入,我在Gradle文件中有这个

implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4'

这些是进口的

import kotlinx.coroutines.*

此外,这听起来可能很傻,但请确保在添加依赖项后同步gradle。

或者在编辑gradle文件时使用屏幕上显示的“立即同步”按钮。

wdebmtf2

wdebmtf22#

我通过添加协程依赖解决了这个问题。

implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.6.4'

相关问题