[Android] 뷰 모델

김동근·2021년 1월 27일
0

Android Udemy 강의

목록 보기
2/2
본 시리즈는 Udemy의 Android Jetpack, Clean Architecture & Testing Masterclass 강의를 정리한 것입니다.

VIew Model

액티비티에서 configuration change가 발생하면 onDestroy() 되었다가 onCreate()된다. 다시 말해 액티비티가 사라졌다가 configuratoin의 변화에 맞춘 액티비티로 재생성 된다.

configuration change가 발생하였을 때 viewModel의 라이프 사이클

이런 과정에서 원래 액티비티에서의 상태(데이터)를 저장해두지 않으면 액티비티가 onDestroy() 다시 onCreate()되기 떄문에 상태를 잃어버리게 된다.

해결 방법으로는 onSaveInstanceState()와 ViewModel이 있다.

여기서 알아볼 것은 viewModel이고 viewModel은 액티비티의 라이프 사이클과 달리 해당 액티비티가 완전히 없어지기 전까지 메모리에 잡혀있기 떄문에 따로 설정은 같은 것은 필요가 없다

다시 말해 viewModel에 저장해두면 알아서 값을 보존한다.

사용법


view model dependencies

일단은 저기로 가서 dependencies에 필요한 값들은 가져온다.

lifecycle_version과 ViewModel implementation이 필요


app 수준 build.gradle에 추가한뒤 ViewModel 클래스를 만든다.


ViewModelFactory를 만들면 ViewModel을 커스텀할 수 있다.

Main에서 구현

profile
김동근

0개의 댓글

관련 채용 정보