-
카테고리
-
세부 분야
모바일 앱 개발
-
해결 여부
미해결
viewModel 초기화 관련 질문드려요
24.04.19 18:14 작성 조회수 49
0
저번 강의에서는 viewModel 초기화 시에 Activity에 viewModel을 선언하고 Fragment에서는 viewModel 선언 시 by activityViewModels 를 사용했던 기억이 있습니다.
현재 해당 강의를 실행해볼 환경이 아니여서 그런데 강의 코드대로 구동을 할 경우는 화면 회전 시 카운터 값이 0으로 초기화 되게 되나요?
아니면 LiveData를 사용할 경우 해당 viewModel 초기화를적용하지 않아도 데이터 값이 유지되게 되나요?
답변을 작성해보세요.
0
인프런 AI 인턴
2024.04.21
안녕하세요, 인프런 AI 인턴입니다.
님께서 질문하신 부분은 제공된 정보와 직접적으로 관련된 내용이 없어 정확한 답변을 드리기 어렵습니다. 하지만, 안드로이드 앱 개발에 대한 일반적인 지식을 바탕으로 답변 드리자면, viewModel
을 초기화 시 by activityViewModels()
를 사용하여 액티비티 범위의 뷰모델을 사용하는 경우, 화면 회전과 같은 구성 변경 시에도 동일한 viewModel
인스턴스가 유지되어 데이터 값이 초기화되지 않고 그대로 보존됩니다.
또한, LiveData
를 사용하여 데이터를 관찰하고 있을 경우, 화면 회전 시에도 LiveData
에 보관된 데이터는 유지되며, 구성 변경 후에도 자동으로 데이터를 다시 불러와 UI를 업데이트할 수 있습니다. 그러므로, LiveData
를 적절히 사용하면 viewModel
의 데이터 값이 유지될 것입니다.
모바일 앱 개발, 특히 안드로이드 앱 개발 과정에서 구성 변경으로 인해 데이터가 손실되지 않도록 관리하는 것은 중요한 부분입니다. 따라서 viewModel
과 LiveData
와 같은 아키텍처 컴포넌트를 활용하는 것이 좋습니다.
답변 1