[Android, MVVM, Coroutine] 활용 #2 - Room에서 Coroutine 사용 이전 포스팅에서 Android에서 Coroutine이 사용 가능하도록 설정 된 상태라면 Room에서 coroutine을 이용한 DB 접근방법에 대해서 알아봅니다. 상세내용이 담긴 포스팅 2019/11/25 - [개발이야기/Android] - Android Room & Coroutines 2019/11/04 - [개발이야기/Kotlin] - [Kotlin] 코틀린 - 코루틴#10- Asynchronous Flow(1/2) 2019/11/16 - [개발이야기/Kotlin] - [Kotlin] 코틀린 - 코루틴#11- Asynchronous Flow(2/2) room 2.1에서 부터 coroutine을 지원하기 시작했고 room 2.2부터 Flow를 지원합니다. 실제로 이 두가지를 어떻게 호출하고 사용하는지 .. 개발이야기/Android 5년 전
[Android, MVVM, Coroutine] 활용 #1 - Android에서 Coroutine 사용 포스팅 한 글중에 코루틴과 코틀린에 대한 글은 다수 있으나, 이를 android에서도 적용하기 위한 방법, mvvm와 coroutine의 활용방법에 대한 내용들이 산발적으로 포스팅 되어 있어 정리하는 포스팅을 진행합니다. 기본적인 내용은 기존 포스팅에 존재하는 내용으로 이번 내용에는 어떻게 활용 할 것인가에 대한 내용을 중점적으로 정리하여 기술 할 예정입니다. 따라서 android를 떠나서, mvvm과 coroutine의 기본적인 내용에 대해서는 이해 했다는 가정하여 작성된 글이며 대신 관련된 내용이 중점적으로 기술된 포스팅의 링크를 같이 제공 합니다. Android에서 Coroutine 사용을 위한 준비 coroutine builder들을 coroutine scope 안에서 생성이 가능합니다. 다만 대.. 개발이야기/Android 5년 전
[Kotlin] 코틀린 - 코루틴#8 - 동기화 제어 이 글은 아래 링크의 내용을 기반으로 하여 설명합니다. https://github.com/Kotlin/kotlinx.coroutines/blob/master/coroutines-guide.md 또한 예제에서 로그 print시 println과 안드로이드의 Log.e()를 혼용합니다.Shared mutable state and concurrency코루틴은 Dispathcer.Default같은 dispatcher를 이용해서 multi-thread에서 동작이 가능합니다.따라서 공유된 변경가능한 상태에 접근하는 경우 multi-thread가 접근하는 경우 문제가 발생합니다.이를 해결하기 위한 방법은 일반적으로 multi-thread에서 공유 객체에 접근할때와 같은것들도 있고, 코루틴만의 특수한 방법들이 있습니다... 개발이야기/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] 코틀린 - 코루틴#2 취소와 Timeout 이 글은 아래 링크의 내용을 기반으로 하여 설명합니다. https://github.com/Kotlin/kotlinx.coroutines/blob/master/coroutines-guide.md 또한 예제에서 로그 print시 println과 안드로이드의 Log.e()를 혼용합니다.Cancelling coroutine executioncoroutine도 취소해야할 경우가 있습니다. backgroud 작업을 진행중에 페이지가 넘어가서 더이상 결과가 필요하지 않다면 취소해야 겠지요?이를 위해 launch function이 return하는 Job을 이용합니다. import kotlinx.coroutines.* fun main() = runBlocking { val job = launch { repeat(1000.. 개발이야기/Kotlin 6년 전