[Android, MVVM, Coroutine] 활용 #1 - Android에서 Coroutine 사용 포스팅 한 글중에 코루틴과 코틀린에 대한 글은 다수 있으나, 이를 android에서도 적용하기 위한 방법, mvvm와 coroutine의 활용방법에 대한 내용들이 산발적으로 포스팅 되어 있어 정리하는 포스팅을 진행합니다. 기본적인 내용은 기존 포스팅에 존재하는 내용으로 이번 내용에는 어떻게 활용 할 것인가에 대한 내용을 중점적으로 정리하여 기술 할 예정입니다. 따라서 android를 떠나서, mvvm과 coroutine의 기본적인 내용에 대해서는 이해 했다는 가정하여 작성된 글이며 대신 관련된 내용이 중점적으로 기술된 포스팅의 링크를 같이 제공 합니다. Android에서 Coroutine 사용을 위한 준비 coroutine builder들을 coroutine scope 안에서 생성이 가능합니다. 다만 대.. 개발이야기/Android 5년 전
[Kotlin] 코틀린 - 코루틴#5 - exception 이 글은 아래 링크의 내용을 기반으로 하여 설명합니다. https://github.com/Kotlin/kotlinx.coroutines/blob/master/coroutines-guide.md 또한 예제에서 로그 print시 println과 안드로이드의 Log.e()를 혼용합니다. Exception propagationCoroutine builder들을 Exception handling 측면에서 두가지 타입으로 나뉩니다.Exception을 외부로 전파(propagation) 시킴: launch, actorException을 노출(exposing)시킴: async, produce언뜻 보기엔 말장난 같습니다.fun main() = runBlocking { val job = GlobalScope.launch .. 개발이야기/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년 전