요 화면을 띄우는게 목표




우선 리스트에 보여 줄 메시지 데이터를 만들어줬고

레포지토리 인터페이스를 만들어서 리스트 형식으로 불러옴.

RepositoryImpl 을 구현해서 네트워크나 Room 에서 데이터를 불러오면 되지만 일단은 하드코딩 했음



그 다음은 ViewModel을 구현할건데 ViewModel 은 Repository 에서 데이터를 불러올 수 있어야 하므로

우선은 Hilt 로 의존성 관계부터 설정해 줄거임




이렇게 모듈을 구현해주면 알아서 DI 시켜줌




이제 ViewModel 구현

StateFlow 구현해주고 init 으로 최초에 repository에서 메시지들을 불러오게 시켜줬음




이제 UI 를 완성해줄 차례임

근데 컴포즈에서는 ViewModel 을 썼을 때 @Preview 어노테이션이 적용이 안되므로

내부에서 실제 UI 를 그리는 HelloScreenBody 함수를 호출해줌



구현은 이렇게

이렇게 구조를 짜면





Preview 어노테이션을 사용해서 미리보기가 가능해지고 테스트하기가 쉬워짐





이제 남은거는 앱의 첫 시작부분에 NavHost 를 구현해서 첫 페이지를 Screen.HelloScreen 으로 지정해주면 완성

앱 실행시키면 잘 나온다


Compose 에 잘 적용한거 같음 ㅇㅅㅇ?