• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

viewModel 초기화 관련 질문드려요

24.04.19 18:14 작성 조회수 47

0

fawegaweg.PNG

저번 강의에서는 viewModel 초기화 시에 Activity에 viewModel을 선언하고 Fragment에서는 viewModel 선언 시 by activityViewModels 를 사용했던 기억이 있습니다.

 

현재 해당 강의를 실행해볼 환경이 아니여서 그런데 강의 코드대로 구동을 할 경우는 화면 회전 시 카운터 값이 0으로 초기화 되게 되나요?

 

아니면 LiveData를 사용할 경우 해당 viewModel 초기화를적용하지 않아도 데이터 값이 유지되게 되나요?

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.04.21

안녕하세요, 인프런 AI 인턴입니다.

님께서 질문하신 부분은 제공된 정보와 직접적으로 관련된 내용이 없어 정확한 답변을 드리기 어렵습니다. 하지만, 안드로이드 앱 개발에 대한 일반적인 지식을 바탕으로 답변 드리자면, viewModel을 초기화 시 by activityViewModels()를 사용하여 액티비티 범위의 뷰모델을 사용하는 경우, 화면 회전과 같은 구성 변경 시에도 동일한 viewModel 인스턴스가 유지되어 데이터 값이 초기화되지 않고 그대로 보존됩니다.

또한, LiveData를 사용하여 데이터를 관찰하고 있을 경우, 화면 회전 시에도 LiveData에 보관된 데이터는 유지되며, 구성 변경 후에도 자동으로 데이터를 다시 불러와 UI를 업데이트할 수 있습니다. 그러므로, LiveData를 적절히 사용하면 viewModel의 데이터 값이 유지될 것입니다.

모바일 앱 개발, 특히 안드로이드 앱 개발 과정에서 구성 변경으로 인해 데이터가 손실되지 않도록 관리하는 것은 중요한 부분입니다. 따라서 viewModelLiveData와 같은 아키텍처 컴포넌트를 활용하는 것이 좋습니다.