
PX, DP, SP

헬스 커넥트(Health Connect)

일종의 디자인 패턴 중 하나로 Stateful한 컴포저블을 Stateless한 컴포저블로 만들기 위한 방법이다. Stateless하게 변경하는 이유Stateful한 컴포저블은 재사용성이 떨어진다.Stateless한 컴포저블은 상태를 외부에서 관리하기 때문에 재사용성이

ㅇ

LiveData와 Flow는 둘 다 데이터의 비동기 스트림을 관리하고 UI와 데이터 간의 연결을 효율적으로 처리하는 데 사용되는 데이터 스트림 객체입니다. 하지만 그 동작 방식이나 사용되는 상황이 다릅니다. 아래에서 각각을 설명하겠습니다.LiveData는 Android

collectAsStateWithLifecycle와 collectAsState는 둘 다 Compose에서 Flow를 상태로 변환하여 UI에 반영할 때 사용하는 함수입니다. 하지만 두 함수의 동작 방식과 생명주기(Lifecycle) 처리에 차이가 있습니다. 아래에서 자세
해당되는 모든 문서를 반환< : 미만<= : 작거나 같음== : 같음\> : 보다 큼\>= : 이상!= : 같지 않음array-containsarray-contains-anyinnot-in※ 필드 하나에서만 범위(<, <=, >, >=)나 같지 않
제가 안드로이드 공부를 하면서 파이어베이스 데이터베이스에 데이터를 저장하고 읽는 방법을 공식 문서에서 읽었습니다근데 필요한 정보에 비해 글이 좀 길어서 내 입맛대로 정리하려 합니다.Cloud Firestore 공식 문서파이어베이스 데이터베이스에는 Cloud Firest

간단하게 말해서 UI를 표기하는 컴포저블이랑, 상태(State)를 관리하는 변수들을 분리하는 것을 말한다.각 컴포저블 함수와 ViewModel는 각각 이벤트(Event)와 상태(State)를 단방향 전달한다.위처럼 따로 분리를 하면 각 컴포저블 함수와 ViewModel

Glance Widget은 Jetpack Compose 환경에서 바탕화면에 위젯을 만들기 위한 라이브러리이다. build.gradle 주요 컴포넌트 및 기능 GlanceAppWidget() > Compose에서의 @Composable 함수처럼 Content()를

만약 빨간줄이 뜨면, File -> invalidate Caches -> 이후 다시 빌드

1. ViewModel은 object보다 class로 object (싱글톤) Lifecycle 관리 불가 → 메모리 오래 점유 여러 화면에서 독립 상태 유지 불가 (데이터 섞임) DI 불편, 테스트 어려움 class Lifecycle-aware →
그럼 Navigation Compose 환경에서Factory 클래스를 사용해서 ViewModel을 외부 주입하는 방식익명 객체 Factory로 Composable 내부에서 생성하는 방식두 가지를 비교하는 예제를 만들어 드리겠습니다.MainScreen → DetailSc
Jetpack Compose에서 ViewModel의 생명주기는 ViewModelStoreOwner에 의해 결정됩니다.즉, ViewModel 자체가 화면이 아니라 소유자(owner) 에 묶여서 살아있다가, owner가 사라질 때 같이 파괴됩니다.ViewModel은 화면의
Jetpack Compose에서 ViewModel의 생명주기는 ViewModelStoreOwner에 의해 결정됩니다.즉, ViewModel 자체가 화면이 아니라 소유자(owner) 에 묶여서 살아있다가, owner가 사라질 때 같이 파괴됩니다.ViewModel은 화면의
아래는 핵심 차이와 실무에서 어떻게 적용되는지 한눈에 보이도록 정리한 비교입니다.Android (AAC) ViewModelAndroid Jetpack의 ViewModel 클래스는 UI 관련 상태(screen-level state) 를 보관하고 구성 변경(예: 화면 회전
결론부터 말씀드리면, NavigationGraph에서 viewModel()을 호출하고 관리하는 것이 더 좋습니다.이는 Jetpack Compose의 설계 철학에 더 잘 맞고, 더 유연하며 재사용 가능한 코드를 만들어주기 때문입니다. 두 방식의 장단점을 비교해 보면 왜