Module with the Main dispatcher is missing. Add dependency providing the Main dispatcher, e.g.

1.遇到问题:有的同学在Android$Kotlin协程开发在运行中可能会遇到下面这个问题。

有的同学可能会想到,kotlin的核心库我已经添加了啊,怎么还是会闪退奔溃出现这个问题呢?

同学加的核心库可能是通过这行代码。

 api 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.7'

 2.问题分析以及问题解决:

该错误的原因是在项目中缺少提供主调度程序的依赖项。主调度程序是用于在Android应用程序中管理UI线程的调度程序。在Kotlin中使用协程时,我们需要使用提供主调度程序的依赖项来确保将协程的执行限制在UI线程中。

解决此错误的方法是在项目中添加提供主调度程序的依赖项,正如上面报错提示到的'kotlinx-coroutines-android'。我们可以将以下代码添加到app级build.gradle文件中,以添加此依赖项:

dependencies {

    //kotlin coroutines  ...
    //implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.7'
    //..
}

那么kotlinx-coroutines-corekotlinx-coroutines-android有什么区别呢?

kotlinx-coroutines-core是Kotlin协程的核心库,提供了协程的基本功能和API,可以在任何Kotlin平台上使用,包括JVM、Android、iOS和Web。

kotlinx:kotlinx-coroutines-android是针对Android平台的Kotlin协程扩展库,它提供了一些针对Android开发的特定功能和API,例如在主线程上运行协程、在Activity和Fragment生命周期内管理协程等。此外,该库还包含了一些Android平台上协程的优化,例如使用Android主线程的Looper来运行协程,避免了线程切换的开销。

因此,kotlinx-coroutines-core适用于所有Kotlin平台,而kotlinx:kotlinx-coroutines-android则是专门为Android平台优化的Kotlin协程扩展库。

3.最后sync now 问题解决~

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值