一、运行第一个协程
-
我们使用Android studio 创建一个以kotlin为开发语言的工程项目CoroutineDemo,在project的build.gradle中引用下面配置
// 协程核心库 implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4' // 协程Android支持库 implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4'·
-
在Android中有一个名为MainScope主线程协程,这个协程是在整个应用程序生命周期内运行的。我们就以此协程来使用launch启动,代码如下:
class MainActivity : AppCompatActivity() { companion object { private const val TAG = "MainActivity" } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val binding = ActivityMainBinding.inflate(LayoutInflater.from(this)) setContentView(binding.root) binding.cscope.setOnClickListener { firstCoroutine() } } //第一个协程 private fun firstCoroutine() { MainScope().launch { Log.d(TAG, "launch start : ThreadName:${Thread.currentThread().name}") } } }
-
运行app,点击按钮执行firstCoroutine()方法。我们就可以在控制台上看到如下输出:
com.kotlintutorial D/MainActivity: launch start : ThreadName:main
-
说明协成启动成功,并且在主线程上运行