ShirimpBurger / WorldCup

이상형월드컵이라네
0 stars 1 forks source link

close #3 ViewModel 의존성 관련 작업 #4

Closed hakzzang closed 3 years ago

hakzzang commented 3 years ago

작업 내용

코멘트

안녕하세요. 뀨쟁이님. 오늘은 hilt viewmodel 관련 작업을 진행했습니다. 액티비티에 뷰모델의 값이 바인딩 되는 것을 확인할 수 있습니다.

Activity에는 @AndroidEntryPoint라는 키워드를 통해서 액티비티 별로 의존성을 주입받게 됩니다. document 링크

ViewModel은 fragment ktx를 통해서 QuizViewModel by viewModels()을 통해서 뷰모델이 만들어집니다. document 링크

HiltViewModel은 @HiltViewModel이라는 키워드를 통해서 ViewModel임을 명시하게 되고, @Inject를 통해서 ViewModel에서 사용하고 싶은 객체들에 의존성을 받게 됩니다.

이를 통해서, ViewModel이 생성되게 되면, 데이터 바인딩에 뷰모델을 바인딩하고 이를 livedata를 통해서 뷰모델에서 즉각 레이아웃을 수신하게 됩니다.

특징이 있다면, liveData{}를 통해서 liveData를 만들게 되는데, 이 빌더 함수를 통해서 viewModel을 만들고, emit()을 통해서 데이터를 내보내게 됩니다. document 링크

@HiltViewModel
class QuizListViewModel @Inject constructor() : ViewModel(){
    val title = liveData { emit("QuizList") }
}