Flow

안드로이드/안드로이드

[Android/Kotlin] flatMapLatest 로 리팩토링

필자가 앱을 완료하고 리팩토링을 하는 중이었습니다. override fun getAllBudgetsToFlowWhenBudgetChanged(): Flow = flow { budgetDataSource.getAllBudgetsOrederByDateToFlow().collect { budgets -> val list = budgets.map { budget -> val categoryProceduresList = categoryProceduresDataSource.getAllCategoryProceduresWithBudgetNum(budget.num) val reduce = categoryProceduresList.sumOf { categoryProcedures -> categoryProcedures.pr..

코틀린/문법및 라이브러리

[Kotlin] Coroutine Flow 맛보기

여러 영상들이나 문제들을 볼 때 Flow를 많이 보았습니다. 그렇지만 그 당시 Flow를 잘 몰랐기에 해당내용을 이해하기 쉽지 않았습니다. 그래서 오늘은 이 Flow를 알아볼까 합니다.  리액티브 프로그래밍은 기존의 명령형 프로그래밍과 대응되는 방식입니다.명령형 프로그래밍 : 데이터를 요청한 후 일회성으로 수신. 이경우 데이터가 필요할 때마다 결괏값을 매번 요청한다는 점에서 매우 비효율적입니다.리액티브 프로그래밍 : 구독을 하면 지속적으로 데이터를 전달하는 역할을 함.  이렇게 전달이 되는 흐름을 데이터 스트림이라고 합니다. Coroutine Flow는 코루틴 상에서 위에서 말한 리액티브 프로그래밍을 지원하기 위해 만들어진 구현체입니다. 코루틴에서 데이터 스트림을 구현하기 위해서는 Flow를 이용하여 구..

감자씨앗
'Flow' 태그의 글 목록