요 화면을 띄우는게 목표
우선 리스트에 보여 줄 메시지 데이터를 만들어줬고
레포지토리 인터페이스를 만들어서 리스트 형식으로 불러옴.
RepositoryImpl 을 구현해서 네트워크나 Room 에서 데이터를 불러오면 되지만 일단은 하드코딩 했음
그 다음은 ViewModel을 구현할건데 ViewModel 은 Repository 에서 데이터를 불러올 수 있어야 하므로
우선은 Hilt 로 의존성 관계부터 설정해 줄거임
이렇게 모듈을 구현해주면 알아서 DI 시켜줌
이제 ViewModel 구현
StateFlow 구현해주고 init 으로 최초에 repository에서 메시지들을 불러오게 시켜줬음
이제 UI 를 완성해줄 차례임
근데 컴포즈에서는 ViewModel 을 썼을 때 @Preview 어노테이션이 적용이 안되므로
내부에서 실제 UI 를 그리는 HelloScreenBody 함수를 호출해줌
구현은 이렇게
이렇게 구조를 짜면
Preview 어노테이션을 사용해서 미리보기가 가능해지고 테스트하기가 쉬워짐
이제 남은거는 앱의 첫 시작부분에 NavHost 를 구현해서 첫 페이지를 Screen.HelloScreen 으로 지정해주면 완성
앱 실행시키면 잘 나온다
Compose 에 잘 적용한거 같음 ㅇㅅㅇ?
댓글 0