EDCAN
We are Creators
EDCAN
전체 방문자
오늘
어제

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (13)
    • 소식 (1)
    • 개발 (7)
    • 디자인 (0)
    • 대회 (0)
    • 교내 행사 (1)

공지사항

  • We are Creators, EDCAN

인기 글

최근 글

최근 댓글

hELLO · Designed By 정상우.
EDCAN

We are Creators

개발

[Android] 여러 프래그먼트에서 공유되는 ViewModel 만들기

2023. 12. 13. 17:01

이 글은 여러 프래그먼트에서 하나의 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
    '개발' 카테고리의 다른 글
    • [React.js] React Router 사용법
    • [Python] Pandas에서 데이터 전처리 하기
    • [Python] Pandas 기초 공부해보기
    • EDCAN 10기 부원들을 위한 FireBase Guide 2
    EDCAN
    EDCAN
    선린인터넷고등학교 모바일 콘텐츠 동아리, EDCAN의 이야기입니다.

    티스토리툴바