Android Jetpack

Android ViewModel - 2 (Activity ViewModel)

개복치 개발자 2021. 12. 18. 17:50

 이전 글에서 ViewModel을 쓰지 않고 화면을 뒤집었을 때 계산기 카운터가 초기화 되는 문제를 확인했습니다.

 

 그렇다면, ViewModel을 사용하면 이 문제를 어떻게 해결할 수 있을까요?

 

 ViewModel의 사용법

 

 그러면 ViewModel을 이용해서 한번 살펴보겠습니다.

 

 MainViewModel 을 만들어서 변수 countValue를 선언해줍니다.

 

 

 그런 후에, Activity에서 viewModel을 아래와 같은 코드로 연결해줍니다.

 

lateinit var viewModel: MainViewModel
viewModel = ViewModelProvider(this).get(MainViewModel::class.java)

 

 전체 Activity 코드를 보면 아래와 같습니다.

 

 

 다시 ViewModel 데이터를 활용해서 계산기를 회전시키면 아래와 같이 데이터가 유지되는 것을 볼 수 있습니다~

 

 

 

 추후, LiveData / MVVM 패턴 등에서도 많이 활용되니, 잘 알아두시면 좋습니다 :)

 

 -- 추가 

 

 위의 코드보다 아래의 코드를 참고하시면 좋습니다.

 

 

 

 - 참조

 

https://medium.com/androiddevelopers/viewmodels-a-simple-example-ed5ac416317e