==========================================================================
-
Android studio
4.1.3 -
kotlin
: 1.4.32 -
kotlinx-coroutines-android
:1.4.3 -
Retrofit
: 2.9.0 -
okhttp
: 4.9.0 -
coil
: 1.2.0 -
room
: 2.2.5
=======================================================================
下面我们就开始进入正题,首先我们使用Android studio(后面简写为AS),创建一个以kotlin为开发语言的工程项目KotlinCoroutineDemo
,然后我们先在project
的build.gradle
中引用下面配置
classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32”
然后在app的build.gradle
中引用相关配置
// Kotlin
implementation “org.jetbrains.kotlin:kotlin-stdlib:1.4.32”
// 协程核心库
implementation “org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.3”
// 协程Android支持库
implementation “org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.3”
}
现在我们就可以愉快的开始我们下一步演示开发了。记得搬好小板凳带上瓜子花生用心看
============================================================================
为了方便我们在此文章把kotlin协程简称为协程(Coroutine
)。
协程是什么
很多人听到协程的时候第一想法就是协程是什么,笔者在这里也不会去给它下定义,推荐您移步带kotlin官方网站去找相关解释。但是我们这里引用官方的一段原话:
- 协程通过将复杂性放入库来简化异步编程。程序的逻辑可以在协程中顺序地表达,而底层库会为我们解决其异步性。该库可以将用户代码的相关部分包装为回调、订阅相关事件、在不同线程(甚至不同机器!)上调度执行,而代码则保持如同顺序执行一样简单。
- 协程是一种并发设计模式,您可以在Android平台上使用它来简化异步执行的代码
简单的概括就是我们可以,以同步的方式去编写异步执行的代码。协程是依赖于线程,但是协程挂起时不需要阻塞线程,几乎是无代价的。所以协程像是一种用户态的线程,非常轻量级,一个线程中可以创建N个协程。协程的创建是过CoroutineScope
创建,协程的启动方式有三种:
-
runBlocking:T
启动一个新的协程并阻塞调用它的线程,直到里面的代码执行完毕,返回