코틀린과 코루틴
코루틴은 코틀린 언어의 기본 기능으로 내장되어 있다. 따라서 별도 설정 없이도 코루틴을 위한 저수준 API를 사용할 수 있다. 하지만, 언어에 내장된 기능만으로는 launch나 async 같은 고수준 API는 사용할 수 없다. launch나 async 같은 고수준 API는 Jetbrains 사에서 배포한 kotlinx-coroutines 라이브러리의 기능으로, coroutine-core(org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3) 라이브러리에 대한 의존성을 설정해줘야 사용할 수 있다. 이를 위해서는 다음과 같은 블록을 build.gradle 파일에 추가해야 한다.
dependencies {
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3'
..
}
하지만, 안드로이드에서 코루틴을 사용하기 위해서는 이것으로 부족하다. 이어서 알아보자.
안드로이드 앱에서 코루틴 사용하기
안드로이드에서 코루틴을 사용하기 위해서는 앞서 다룬 cotourines-core 라이브러리 뿐만 아니라 coroutines-android 라이브러리 또한 설정해줘야 한다. coroutines-core 라이브러리는 코루틴을 사용하기 위한 공통적인 라이브러리이며, UI가 없는 애플리케이션의 경우 이 라이브러리만 있으면 코루틴을 사용할 수 있다. 하지만, 안드로이드의 경우 UI 작업을 위한 Dispatchers.Main을 사용하기 위해 coroutine-android에 대한 추가적인 설정이 필요하다.
따라서 앱 수준의 build.gradle 파일에 다음 두개의 라이브러리를 설정해야 Android에서 코루틴을 사용할 수 있다.
dependencies {
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3'
..
}
- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 : 코루틴의 고수준 API를 사용하기 위한 라이브러리
- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 : 안드로이드의 코루틴이 메인 스레드에서 동작할 수 있도록 하기 위해 추가돼야 하는 라이브러리
Kotlin Coroutines 공식 기술 문서 번역이 GitHub 오픈소스로 배포되었습니다. Starganizer가 되어 오픈소스를 지지해주세요.