Android ViewModel 3

Android ViewModel - 5 (ViewModel Factory)

ViewModel을 공부하다 보면, ViewModel Factory라는 것이 나옵니다. 이 ViewModel Factory라는 것이 무엇인지 한번 짚고 넘어가겠습니다. 일단 기존의 ViewModel의 코드를 보면서 한번 생각해보면 위의 같이 ViewModel에서 어떠한 파라메터를 받지 않고 생성이 됩니다. 만약에 ViewModel에 생성자로 파라메터를 넘겨줄 때 어떻게 해야할까요? 그 때문에 ViewModel Factory라는 개념이 나왔습니다. DataSource나 reposifoty를 viewModel에 파라메터로 넘겨주기 위해서 사용합니다. 그렇다면 어떻게 사용할까요? 한번 살펴보겠습니다. 저는 MainViewModel에 startNum이라는 값을 넘겨주기 위해 ViewModel을 만들었습니다. 그..

Android Jetpack 2021.12.24

Android ViewModel - 1 (ViewModel의 필요성)

안드로이드의 AAC(Android Architecture Components)를 공부하다 보면, 가장 처음에 나오는 개념입니다. ViewModel이란? 구글 문서에 보면 아래와 같이 설명이 나와있습니다. Android 프레임워크는 활동과 프래그먼트 같은 UI 컨트롤러의 수명 주기를 관리합니다. 프레임워크는 특정 사용자 작업이나 완전히 통제할 수 없는 기기 이벤트에 대한 응답으로 UI 컨트롤러를 제거하거나 다시 만들도록 결정할 수 있습니다. 시스템에서 UI 컨트롤러를 제거하거나 다시 만드는 경우, 컨트롤러에 저장된 모든 일시적인 UI 관련 데이터가 삭제됩니다. 예를 들면 앱 활동 중 하나에 사용자 목록이 포함되어 있는데, 구성이 변경되어 활동이 다시 생성되면 새 활동이 사용자 목록을 다시 가져와야 합니다...

Android Jetpack 2021.12.18

Android ViewModel

안드로이드 뷰모델(ViewModel)에 대해서 알아보겠습니다. 가장 중요한게 이걸 왜 쓰는가? 인데, 이 것을 검색해보면 이런 이미지가 나옵니다. 이렇게 나오고 설명이 아래와 같이 나와있습니다. 일반적으로 시스템에서 활동 객체의 onCreate() 메서드를 처음 호출할 때 ViewModel을 요청합니다. 시스템은 활동 기간 내내(예: 기기 화면이 회전될 때) onCreate() 메서드를 여러 번 호출할 수 있습니다. ViewModel이 처음 요청되었을 때부터 활동이 끝나고 폐기될 때까지 ViewModel은 존재합니다. 설명은 요약해보면, 여기까지 보면 onCreate()를 여러번 호출해도 viewModel이 유지된다. 정도로 요약할 수 있는데, 뷰모델을 사용하지 않고 제가 화면을 회전하면 어떻게 되는지 ..

Android(Kotlin) 2021.08.18