Android 12

[Android] Jetpack ViewModel

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

Android/학습 2024.11.14

[Android] Bundle이란? (feat. Activity 간 데이터 전달에 Intent를 사용하는 이유)

BundleString key에 다양한 Parcelable 값으로 매핑key, value의 Map 형태의 데이터 구조 Parcelable와 Bundle는 IPC/바인더, 인텐트가 있는 활동 간 트랜젝션, 구성 변경 간에 일시적인 상태를 저장하는 것과 같이프로세스 경계를 ​​넘어 사용하도록 의도된 객체Parcel는 일반적인 직렬화 메커니즘이 아니며, Parcel를 디스크에 데이터를 저장하거나 네트워크를 통해 전송해서는 안 됩니다.  Bundle은 parcel을 사용하여 마샬링(marshalling) 및 언마샬링(unmarshalling)하는 데 매우 최적화되어 있습니다.  데이터를 저장하거나 전송할 목적으로 데이터 구조 또는 개체를 한 표현에서 다른 표현으로 변환하는 프로세스 마샬링(marshalling)..

Android/학습 2024.10.01