Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 사무실
- Kotlin
- 너무 어렵다
- 후기
- 파이썬
- 재밌긴함
- SAA
- 공유오피스
- fragmentcontainer
- media3
- 아키텍쳐
- 패스트파이브
- 안드로이드
- rxandroid
- 코틀린
- 가든웨딩
- MVVM
- 중첩네비게이션
- 내부프레그먼트
- 스택
- 패파
- innernavigation
- parentfragment
- 더베일리하우스 삼성점
- media3 transformer
- 알고리즘
- 백준
- Android
- Stack
- 자바
Archives
삽질도사
[안드로이드] jetpack compose HiltViewModel 사용 본문
보시다시피 Cannot create an instance of class 라는 런타임 에러가 나오기 전까지는 뷰모델을 생성 할 때에,
기존에는 아래와 같이
viewModel()을 사용했는데, 이러한 경우엔 뷰모델을 생성할 때에 hilt inject로 아무것도 안넘겨 줄때에 사용이 가능했습니다.
당연히 이 경우엔 뷰모델 생성할 시에 파라미터로 아무것도 안넘겨준다는 개념하에 작동하기 때문에 아무 문제가 없었지만,
기본적으로 뷰모델 생성시에 useCase같은 것을 inject한다던지 무언가를 전달 할 때에는 위 같은 런타임 에러가 발생합니다.
따라서 hiltViewModel()을 사용하면
변경된 아래와 같이
inject로 해당 뷰모델에 직접 무언가를 주입하려면 hiltViewModel()로 생성하면 문제가 해결됩니다.
hiltViewModel 과 viewModel은 생성할 시에 navbackStack과 관련된 차이점이 있다고 하는데
실제 사용시에 가장 큰 차이점과 문제해결 방법은 위 같은 예시가 가장 대표적인 것 같고, 계속 까먹어서 올립니다.
'안드로이드' 카테고리의 다른 글
[안드로이드] 키 해쉬 / sha-1 구하기 (0) | 2023.08.29 |
---|---|
[안드로이드] ExoPlayer Controller 커스텀하기 및 기능사용하기. (0) | 2023.07.11 |
Jetpack Navigation - (Animation/Anim) 맨날 까먹고 헷갈림 (0) | 2023.04.28 |
[안드로이드] jetpack navigation + BottomNavigation 뒤로가기로 홈 화면 가기 (0) | 2023.04.26 |
[안드로이드] 빗썸 api 가져오기 (Retrofit2 + Rxjava) using Kotlin (0) | 2022.01.05 |