Android Kotlin Fundamentals 05.2: LiveData and LiveData observers 번역 #1
- study
- 2019. 12. 1. 14:42
이전 코드랩에서는 ViewModel을 사용하여 GuessTheWord 앱에서 device-configuration이 되더라도 데이터가 보존될 수 있도록 하는 작업을 하였습니다. 이번 코드랩 에서는 LiveData를 ViewModel클래스에 정합하는 방법을 배울 것 입니다.
LiveData는 Android Architecture Components 중 하나이고, 기본 데이터 베이스가 변경 되었을 때, 이를 감지하여 view에 전달하는 데이터 모델을 만들 수 있도록 도와 줍니다.
LiveData를 사용하기 위해서는 데이터의 변경을 감지하는 "observer"를 셋팅해야 합니다. LiveData는 lifecycle을 인지하고 있습니다. 그래서 액티브 상태인 라이프 사이클 에서의 앱 컴포넌트 옵저버만 업데이트 합니다.
무엇을 알고 있어야 되는가.
- 어떻게 Kotlin Android 프로젝트를 생성하는지
- App안에서 어떻게 Navigation을 구현해야 하는지
- Activity와 fragment의 라이프 사이클에 대해
- 어떻게 ViewModel 클래스를 사용하는지
- 어떻게 ViewModelProvider.Factory를 사용하여 ViewModel을 생성해야 하는지
무엇을 배울 것인가.
- 무엇이 LiveData을 유용하게 만드는지
- 어떻게 ViewModel에 LiveData를 추가 하는지
- 언제, 어떻게 MutableLiveData를 사용하는지
- LiveData의 변경을 감지하기 위해 어떻게 observer 메소드를 추가하는지
- 어떻게 backing property를 사용하여 LiveData를 캡슐화하는지.
- UI controller와 그것과 연관된 ViewModel 끼리 어떻게 커뮤니케이션 하는지
무엇을 할 것 인가.
- word와 score를 LiveData를 사용하여 구현하기
- word와 score의 변경을 감지 하기 위해 observer 추가하기.
- 값이 변경 되었을 때 변경된 값으로 ui 업데이트 하기
- game-finished 이벤트를 추가 하기 위해 LiveData의 observer 패턴 사용하기
- Play Again 버튼 구현하기