반응형 coroutine6 Coroutine Async와 await 사용시 Exception Handling 방법 정리#Kotlin Coroutine에서 비동기 코드에서의 반환 값이 필요할 때,코루틴 빌더인 async와 await()함수를 사용합니다. 하지만 이 API들은 Exception을 핸들링 할 때 주의가 필요한데요.오늘은 async와 await() 사용시,Exception을 핸들링 하는 방법에 대해 알아보겠습니다. 1. async 예외 전파 이해하기코루틴 빌더인 async와 await함수를 사용시,Exception핸들링을 하려면,코루틴의 예외 전파방식에 대해 이해해야 하는데요. 먼저 보아야 할 것이,코루틴 빌더인 async의 리턴타입입니다.아래와 같이 Deferred타입인데요.이 타입은 아래 보이는 것처럼, Job을 상속받고 있습니다. 코루틴 빌더인 async는,Job을 통해 부모-자식 관계가 형성되구요.Exception.. 2025. 1. 13. SharedFlow 에 대한 총정리 # Buffer Replay tryEmit Kotlin Coroutine 오늘은 Kotlin Coroutine의 SharedFlow 에 대해서 정리해 보도록 하겠습니다. 1. SharedFlowSharedFlow 는 이름에서 알 수 있듯이,Collector 가 여러개인 경우,Collector 들이 emit 된 값들을 동시에 consume 할 수 있도록,Share(공유)되는 Flow 의 API 입니다. fun main() = runBlocking { val sharedFlow = MutableSharedFlow(replay = 1) launch { for (i in 1..5) { sharedFlow.emit(i) println("Emitted: $i") } } launch { sh.. 2023. 5. 4. Scaffold, SnackBar 그리고 FloatingActionButton 정리 # Jetpack Compose UI Part3 지난 글에서는 Jetpack Compose의 중요한 개념인 State에 대해서 정리하였는데요. 이번 글에서는 Scaffold를 이용해서 머리티얼디자인을 사용하는 방법에 대해서 정리해 보도록 하겠습니다. Jetpack Compose의 지난 글 링크는 아래와 같습니다. >> Jetpack Compose 기본 UI Part1 # Color Card Modifier Column Row >> Jetpack Compose 기본 UI Part2 # State TextField 1. Scaffold Layout 1-1. Scaffold Layout Scaffold 는 Material Design 구조가 적용되어 있는 레이아웃입니다. 이 레이아웃을 이용하면 화면에 Material Design 컴포넌트들을 적절하게 넣을 .. 2022. 11. 15. Coroutine을 이용해 Parallel한 네트워크 호출 #Kotlin Kotlin의 Coroutine을 이용하여서 NetworkCall을 할 경우, 동시에 2개 혹은 3개의 네트워크 API를 호출해야 할 경우 어떻게 해야 할까요? 당연히 A를 먼저하고 끝나면 B를 하는 Sequential한 방법은 사용하지 않을 것이구요. Parallel하게 동시에 호출한 다음 return된 값들을 이용할 텐데요. 오늘은 이것의 방법에 대해서 정리해 보도록 하겠습니다. 1. async와 successHandler Paralllel하게 호출하여 비동기로 결과 값을 받기 위해서는, async 코루틴 빌더를 사용하여야 하는데요. 1-1. async와 successHandler의 사용 동시에 2개의 호출을 한다고 가정해 보겠습니다. 임의의 successHandler를 만들어서 async빌더에서 r.. 2020. 3. 28. ViewModel에서 Coroutine을 이용하는 방법 #ViewModel Scope Coroutine을 안드로이드에서 사용한다고 했을 때, ViewModel에서 사용하면 매우 효율적인데요. 오늘은 Coroutine을 ViewModel에서 사용하는 방법에 대해서 정리해 보도록 하겠습니다. Coroutine에 관해 기본적인 내용들은 아래 링크를 참조해 주세요. >> Kotlin Coroutine에 대한 정리 1. ViewModel 과 Coroutine Coroutine도 더이상 작업이 필요하지 않거나 할 때, cancel을 적절히 해주어야 하는데요. 이럴 때 ViewModel과 연계되어 있으면, ViewModel의 라이프사이클에 맞추어, 쉽게 Coroutine도 관리할 수 있습니다. 예전 Coroutine에 관한 글에서도 정리하였지만, Coroutine의 관리 단위는 Scope입니다. Sc.. 2019. 10. 10. Kotlin Coroutine에 대한 정리 이제 안드로이드 개발을 하면서, RxJava나 AsyncTask이외에도 다른 Thread로 작업을 할 수 있는 방법이 생겼는데요. 바로 Kotlin의 Coroutine입니다. Coroutine은 RxJava만큼 다양한 Operator를 제공해주지는 않지만, 심플하다는 면에서는 좀 더 좋은면이 있는 것 같습니다. 오늘은 이 Coroutine에 대해서 정리해 보도록 하겠습니다. 1. 라이브러리 implement 가장 먼저 해야할 것은 역시 Library설정인데요. Kotlin의 버전을 최신 버전으로 하구요. 아래와 같이 app레벨의 build.gradle에서 implement해 줍니다. 마치 rxjava와 rxandroid를 같이 implement했듯이, coroutine도 core와 android 라이브러.. 2019. 10. 9. 이전 1 다음