본문 바로가기
반응형

stateflow4

mutableStateOf 와 MutableStateFlow 비교 총정리 # collectAsState Jetpack Compose UI의 중심에 있는 Concept가 State 인데요. mutableStateOf 와 MutableStateFlow를 이용하면, mutable (가변)의 State 값을, 관찰해서 값의 변화에 따라 UI 나 혹은 다른 로직의 변형을 줄 수 있습니다. 오늘은 이 둘의 차이에 관해서 정리해 보겠습니다. 1. mutableStateOf mutableStateOf에 관해서는 공식문서에 자세히 설명이 되어있는데요. 관찰될 수 있는 MutableState를 생성해주는데, 이 타입으로 된 값이 변경될 때마다, 컴포저블이 다시 recompose 되도록 한다고 되어있습니다. 즉, 값에 따라서 Composable UI의 변경을 주어야 할 때 사용하기에 적합합니다. 사용방법은 아래와 같은데요. .. 2023. 4. 23.
MutableStateFlow 이용한 로딩 후 로딩 완료 기다리기 구현 방법 AdView처럼 라이브러리에 로딩을 시키고, 해당 로딩이 다 될 때까지 기다릴 때 어떻게 구현해야 하는지 정리해 보겠습니다. 1. Mode 설정 먼저 여러가지 모드를 설정하기 위해서 다음과 같이 Mode에 관한 sealed class를 하나 작성해 줍니다. 이것은 로딩에서 로드가 완료되었을 때를 알기 위해서 인데요. 광고라이브러리에서는 보통 콜백으로 로드가 다 되었을 때 호출되는 onAdLoaded 와 같은 함수를 제공해 주므로, 이러한 콜백함수에서 Mode를 Loaded로 해주고, 로딩을 시작할 때, Loading으로 모드를 설정해 주면 되겠지요. sealed class AdMode { object Loading : AdMode() object Loaded : AdMode() data class Err.. 2023. 4. 8.
State 를 이해하고 TextField 구현하기 # Jetpack Compose UI Part2 지난 글에 이어서 Jetpack Compose 기본 UI Part2에서는 State 에 대해서 다루고, 이를 이용해 TextField를 구현해 보도록 하겠습니다. 지난 part1 글은 아래 링크를 참조해주세요. >> Jetpack Compose UI Part1 # Color Card Modifier Column Row 1. State 1-1. State State의 의미는 상태인데요. 현재 UI의 상태를 의미합니다. UI는 유저나 네트워크의 응답등 따라서 변경된 상태가 반영되어야 하는데요. Composable 함수는 이렇게 변화된 상태를 나타낼 때, 변경된 Value를 가지고 관찰하고 있는 State를 통해 Notify를 받고 그 값을 이용해 Composable함수를 재호출합니다. 이 과정에서, Comp.. 2022. 11. 14.
StateFlow 정리 # Android Kotlin Coroutine getStateFlow StateIn 오늘은 Kotlin의 StateFlow 에 대해서 정리해 보도록 하겠습니다. StateFlow도 Flow API의 하나인데요. Flow에 대한 내용은 아래 글을 참조해 주세요. >> Kotlin Coroutine Flow 총정리 part3 # launchIn 1. StateFlow StateFlow는 업데이트가 가능한 데이터값을 가지는 State라는 것을 가지고, collector에게 emit(전파)하는 인터페이스입니다. SharedFlow를 상속받은 인터페이스 이기도 한데요. State를 가지고 있다가, 변경되면 emit을 해주는 역할을 하는 핫스트림이라고 생각하면 됩니다. 핫스트림과 콜드스트림에 대해서는 아래 글을 참조해 주세요. >> Kotlin Coroutine Flow 총정리 part3 # la.. 2022. 10. 12.