본문 바로가기

Flow2

LiveData와 Kotlin의 Flow LiveData와 Flow가 뭔지 정리해보고 어떻게 사용하는 지에 대해 알아본다. 추가로, 두 가지가 유사하면서도 다른 점들이 있기에 주요한 차이점과 적절한 사용법도 알아보자. LiveData & Flow LiveData는 안드로이드 앱 개발에서 일반적인 작업인 데이터 전송의 한 방법이다. Kotlin Flow도 데이터를 전송하는 것이며 비동기로 전송할 수 있는 기능이 있다. 두 가지 방법 모두 기존의 전통적인 문제를 극복하기 위해 설계되었으며, 장점과 더불어 한계점도 있다. LiveData 관찰 가능한 데이터 홀더 클래스, 다른 안드로이드 컴포넌트들(activity, fragment, service)에 의해 관찰될 수 있는 데이터들의 집합이라고 생각하면 된다. 관찰 가능한 다른 일반 클래스들과 다른 점.. 2021. 11. 14.
Kotlin (코틀린) Coroutine의 Flow 결합 방법 Kotlin(코틀린)의 Coroutine(코루틴)에는 Flow라는 것이 있다. Flow를 잘 모른다면 일단 RxKotlin에서의 Observable과 유사하다고 생각하면 된다. 이번 포스팅에서는 이러한 Flow들을 결합해서 사용하는 방법에 대해 정리할 예정이다. Coroutine은 Flow를 결합하기 위해 combine(결합), zip(압축), flattenMerge의 세 가지 연산자를 제공해준다. 이 세 가지에 대해 각각 알아보자. 결합 (Combine) 연산자 먼저 combine 연산자에 대해서 살펴보자. Flow의 extension 함수인데 결합을 위해 다른 Flow를 인자로 받는다. 두 번째 인자로는 람다 suspend 함수를 받는데, 두 Flow (기존 Flow와 인자로 준 Flow)에서 emi.. 2020. 6. 8.