程序员学习,不能只看,要写,要写,要写,重要的事说3遍
行吧,一点一点写吧
如果是用于 Android 平台的话,可以只引用以下的 coroutines-android,当中已经包含了 coroutines-core
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2'
对应的kotlin版本为 1.5.0
class CoroutineActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
test()
}
@OptIn(DelicateCoroutinesApi::class, InternalCoroutinesApi::class)
private fun test() {
Log.d("yzqyzq", "start")
GlobalScope.launch(context = Dispatchers.IO) {
//延时一秒
delay(1000)
Log.d("tag", "launch")
}
//主动休眠两秒,防止 JVM 过快退出
Thread.sleep(2000)
Log.d("tag", "end")
GlobalScope.launch(Dispatchers.Main) {
flow {
emit(1)
emit(2)
}.collect {
delay(1000)
withContext(Dispatchers.IO) {
Log.d("tag11", "$it")
}
Log.d("tag22", "$it")
}
}
}
}