이 글은 여러 프래그먼트에서 하나의 ViewModel을 공유해서 사용하는 법을 기록했고
Google Codelab을 통해 학습한 내용을 정한 글 입니다.
Android에서 회원가입, 메인 페이지 등 Navigation을 사용해서 여러 프래그먼트에서
데이터를 공유해서 사용해야 할 때가 있다. 이 방법을 공부하기 위해서
Google Codelab에서 공부했다. 해당 코드랩
결론부터 💡
ViewModel은 다음과 같이 동일하게 만들어 주면 된다.
class OrderViewModel : ViewModel() {
private val _quantity = MutableLiveData<Int>(0)
val quantity: LiveData<Int> = _quantity
}
Fragment에서 ViewModel을 만들때 activityViewModels()을 사용해주면 된다.
class PickupFragment : Fragment() {
private val sharedViewModel: OrderViewModel by activityViewModels()
...
}
다음과 같이 여러 프래그먼트에서 만들어줘도 접근하는건 하나의 객체에 접근한다.
class FlavorFragment : Fragment() {
private val sharedViewModel: OrderViewModel by activityViewModels()
...
// 공유 뷰모델에서 접근 하는 법
// sharedViewModel.quantity.value
}
'개발' 카테고리의 다른 글
[React.js] React Router 사용법 (0) | 2023.12.13 |
---|---|
[Python] Pandas에서 데이터 전처리 하기 (0) | 2023.12.13 |
[Python] Pandas 기초 공부해보기 (0) | 2023.12.13 |
EDCAN 10기 부원들을 위한 FireBase Guide 2 (0) | 2023.06.12 |
EDCAN 10기 부원들을 위한 FireBase Guide (0) | 2023.06.06 |