Easy Coroutines in Android: viewModelScope 안드로이드 Summit 2019를 보던중 Testing coroutine section에 갑자기 viewModelScope이란게 튀어 나옵니다...분명 coroutineScope이긴 할텐데, ViewModel에 한정시킨 버전인듯한데..라고는 가늠해 보지만 세미나를 진행해야 하는 입장이라 명확한 viewModelScope에 대한 글을 정리했습니다.이 글은 하기 링크를 번역했습니다.https://medium.com/androiddevelopers/easy-coroutines-in-android-viewmodelscope-25bffb605471 Coroutines의 취소는 단조롭고 번거로운 작업으로 심지어 까먹기도 쉽습니다.viewModelScope은 extension property를 ViewModel에 추.. 개발이야기/Android 5년 전
[Kotlin] 코틀린 - 코루틴#6 - supervision 이 글은 아래 링크의 내용을 기반으로 하여 설명합니다.https://github.com/Kotlin/kotlinx.coroutines/blob/master/coroutines-guide.md 또한 예제에서 로그 print시 println과 안드로이드의 Log.e()를 혼용합니다. 코루틴에서 Exception은 자식, 부모 양방향으로 전부 전달됩니다.UI component 같은곳에서 하나의 Job을 사용하면 UI 자체를 destroy하거나 화면을 떠나는 경우 모든 자식들을 취소 시킬 수 있습니다.다만, 자식중 하나가 실패되면 모든 UI component가 취소되는 상황도 같이 일어납니다. Supervision job이렇게 한방향으로만 취소를 전달하기 위한 방법으로 SupervisorJob이 있습니다.Sup.. 개발이야기/Kotlin 6년 전
[Kotlin] 코틀린 - 코루틴#4 - context와 dispatchers 이 글은 아래 링크의 내용을 기반으로 하여 설명합니다. https://github.com/Kotlin/kotlinx.coroutines/blob/master/coroutines-guide.md 또한 예제에서 로그 print시 println과 안드로이드의 Log.e()를 혼용합니다. coroutine은 항상 kotlin standard library에 정의된 CoroutineContext로 대표되는 어떤 context에서 실행됩니다. corouitne의 context는 어려 요소의 set으로 구성되며, main 요소는 Job과 dispatcher 입니다. Dispatchers and threads coroutine context는 어떤 쓰레드에서 해당 coroutine을 실행할지에 대한 dispatcher.. 개발이야기/Kotlin 6년 전
[Kotlin] 코틀린-코루틴#3 - suspending function의 구성 이 글은 아래 링크의 내용을 기반으로 하여 설명합니다. https://github.com/Kotlin/kotlinx.coroutines/blob/master/coroutines-guide.md 또한 예제에서 로그 print시 println과 안드로이드의 Log.e()를 혼용합니다. Sequential is default기본적으로 code는 sequential하게 수행됩니다. 이는 coroutine 내부에서도 동일하게 적용 됩니다. (당연하겠죠?)먼저 아래와 같이 시간이 걸리는 작업을 하는 의미있는 함수가 있다고 가정합니다.(remote service call이 될수도 있고, computation을 하는 작업일수도 있습니다.) 먼저, 예제에서 공통으로 사용하기 위한 suspend 함수를 생성합니다.susp.. 개발이야기/Kotlin 6년 전