안드로이드 개발 팁 #87 - 컴포저블 함수들이 뷰모델을 공유하는 방법

컴포저블 함수들이 뷰모델을 공유하는 방법

No. 87
2025. 01. 03 (금) | Written by @dorian-mobileapp

시작하며...

근 3개월만에 안드로이드 개발 팁을 다시 작성합니다. 따로 정리해둔 자료는 있는데, 스팀잇으로 가지고 오지를 못 했어요. 늦었지만 하나씩 이 곳에 정리를 다시 하려 합니다.


컴포저블 함수들이 뷰모델을 공유하는 방법

사전 조건
  • 프로젝트의 종속성(dependency)에 Hilt 라이브러리가 포함되어 있습니다.
설명

컴포저블 함수의 뷰모델 파라메터의 값을 hiltViewModel(LocalContext.current as 액티비티클래스이름)로 지정하면 됩니다. 그러면 해당 액티비티 기반으로 실행 중인 컴포저블 함수들이 동일한 클래스 이름의 뷰모델을 공유할 수 있습니다.

만약 컴포저블 함수들의 뷰모델 파라메터를 hiltViewModel()로 지정하면? 이 함수는 공유 뷰모델이 아닌 별도로 복사가 된 뷰모델들에 접근합니다. 이 점에 유의하세요.

@Composable
fun PushNotiTimePopup(
    viewModel: SampleViewModel = hiltViewModel(LocalContext.current as SampleActivity),
    // ...
) {
    // ...
}

지난 안드로이드 개발 팁


Layout provided by Steemit Enhancer hommage by ayogom


Posted through the ECblog app (https://blog.etain.club)
Sort:  

안녕하세요.
SteemitKorea팀에서 제공하는 'steemit-enhancer'를 사용해 주셔서 감사합니다. 개선 사항이 있으면 언제나 저에게 연락을 주시면 되고, 관심이 있으신 분들은 https://cafe.naver.com/steemitkorea/425 에서 받아보실 수 있습니다. 사용시 @응원해 가 포함이 되며, 악용시에는 모든 서비스에서 제외될 수 있음을 알려드립니다.

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.


안녕하세요.
이 글은 SteemitKorea팀(@ayogom)님께서 저자이신 @dorian-mobileapp님을 응원하는 글입니다.
소정의 보팅을 해드렸습니다 ^^ 항상 좋은글 부탁드립니다
SteemitKorea팀에서는 보다 즐거운 steemit 생활을 위해 노력하고 있습니다.
이 글은 다음날 다시 한번 포스팅을 통해 소개 될 예정입니다. 감사합니다!