ViewModel 3

[Android] ViewModel Instance 생성 with ViewModelProvider

ViewModel은 생성될 때 전달받은 ViewModelStoreOwner 생애주기를 따라간다. https://androidhelper.tistory.com/23 [Android] Jetpack ViewModelViewModel비즈니스 로직 또는 화면 수준 상태 홀더로,UI 컨트롤러의 데이터를 캡슐화하여 구성 변경이 일어나도 데이터를 유지하는 것이 목적인 구성요소이다. 즉, UI에 상태를 노출하고 관련 비즈androidhelper.tistory.com 그렇다면 ViewModelStoreOwner 생애주기를 따르는 ViewModel의 생성하려면,즉, ViewModel의 인스턴스는 어떻게 해야 올바르게 생성해서 사용할 수 있을까? ViewModelProvider를 사용하는 방법 ViewModelProvide..

Android/학습 2024.11.28

[Android] Jetpack ViewModel

ViewModel비즈니스 로직 또는 화면 수준 상태 홀더로,UI 컨트롤러의 데이터를 캡슐화하여 구성 변경이 일어나도 데이터를 유지하는 것이 목적인 구성요소이다. 즉, UI에 상태를 노출하고 관련 비즈니스 로직을 캡슐화   ViewModel이 아닌 일반 Class로 UI를 상태를 관리하면 어떻까?이는 활동(Activity)이나 탐색 대상(Navigation destinations) 간에 이동할 때 문제가 될 수 있습니다. 이렇게 하면 인스턴스 상태 저장 메커니즘을 사용하여 데이터를 저장하지 않을 경우 해당 데이터가 소멸됩니다. 참고적으로, ViewModel은 Hilt 및 Navigation과 같은 주요 Jetpack 라이브러리와 Compose와의 통합을 완벽하게 지원   ViewModelStoreOwner..

Android/학습 2024.11.14

[Android] Android 권장 앱 아키텍처를 통해 보는 ViewModel과 Repository

아키텍처 원칙 앱 구성요소 : Activity, Fragment, Service, Content Provider, Broadcast Receiver 등 구성요소는 개별적이고 비순차적으로 실행될 수 있음. 운영체제나 사용자가 언제든지 앱 구성요소를 제거 가능. 애플리케이션 데이터나 상태를 저장 ❌ 서로 종속 ❌ Activity 및 Fragment 구현은 소유 대상이 아니며 Android OS와 앱 사이의 계약을 나타내도록 이어주는 클래스 OS는 사용자 상호작용을 기반으로 또는 메모리 부족과 같은 시스템 조건으로 인해 언제든지 클래스를 제거 가능 권장 앱 아키텍처 UI 레이어 : 화면에 애플리케이션 데이터를 표시 데이터 레이어 : 앱의 비즈니스 로직을 포함하고 애플리케이션 데이터를 노출 UI와 데이터 레이어..

Android/학습 2022.09.18