compose (3)


StateFlow vs SharedFlow 완벽 정리: 언제 무엇을 써야 할까?

StateFlow vs SharedFlow 완벽 정리: 언제 무엇을 써야 할까?

오늘의 개발 스터디 안드로이드 앱을 개발할 때 비동기 데이터 스트림을 다루기 위해 Kotlin의 Coroutines와 Flow를 정말 많이 사용하죠. 그중에서도 LiveData를 대체하며 단골 손님으로 등장하는 StateFlow와 SharedFlow!두 녀석 다 "Hot Stream"이라는 공통점이 있어서 처음 접하면 꽤나 헷갈립니다. 오늘은 이 둘의 차이점을 명확하게 정리하고, 실무에서 어떤 상황에 어떤 Flow를 선택해야 하는지 깔끔하게 정리해 보겠습니다.1. Hot Stream이란? (막간 개념 정리)StateFlow와 SharedFlow를 이해하려면 먼저 Hot Stream의 개념을 알아야 합니다.Cold Stream (일반 Flow): 소비자가 수집(collect)을 시작해야만 데이터를 생산합..

Android Rest API 연결 쉽게 하기 (2) ( Compose , Hilt 라이브러리 )

MainActivity @AndroidEntryPoint 작성 - AndroidEntryPoint => 안드로이드 생명 주기를 관리하는곳에 Hilt 의존성 기능을 넣어서 활성화하는 의미 / 화면 구성 필요@AndroidEntryPointclass MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { MaterialTheme { ProfileScreen() } } }MyApplication 추가 ..

Android Rest API 연결 쉽게 하기 (1) ( Compose , Hilt 라이브러리 )

우선적으로 Hit 라이브러리 라는건 무엇이냐?Hilt는 Dagger를 기반으로 만들어진 Android 전용 DI 라이브러리입니다.프로젝트의 각 컴포넌트(Activity, ViewModel 등)에 필요한 객체를 외부에서 주입해 주므로, 코드의 재사용성을 높이고 모듈 간의 의존성을 줄여줍니다.1. 기존에 사용하는데는 문제가 없지만 Hilt 라이브러리 사용을 위해서 몇 가지 설정이 필요합니다. module / build.gradle.kts ※ 버전 필수로 맞추기 plugins { id("com.android.application") version "8.2.2" apply false id("org.jetbrains.kotlin.android") version "1.9.24" apply false..