돌아오신 것을 환영합니다
이제 AddEditDetailView 화면 혹은 composable(컴포저블)로 돌아가 봅시다
아직 작업하지 않은 내용잉 ㅣㅆ습니다
여기에 Navigation으로 가 보겠습니다
아시다시피 Navigation에서는 composable(컴포저블)을 관리하고 있습니다
네
여기에서 다른 composable(컴포저블)을 추가해서 두 번째 화면을 관리하도록 하겠습니다
홈 화면이 아닌 AddScreen.route입니다
이렇게 하면 HomeView를 여는 것이 아니라 AddEditDetailView를 id와 함께 열 것인데
이 id에는 0을 써서 pass(전달)하는 항목이 없다고
표시하겠습니다
ViewModel에는
이 윗쪽에서 가져온 wishViewModel을 사용하고
navController도 쓰겠습니다
이 navController도 이 이ㅜ에서 가져오겠습니다
이렇게 navController을 쓰겠습니다
이렇게 두 번째 화면을 구성했습니다
지금은 동적으로 생성한 특정 디테일을 pass(전달)하고 있지는 않습니다만
이것은 나중에 추가하겠습니다
지금은 일단 이 추가 화면으로 옮겨갈 수 있도록 하고
그 화면에서 넘어갈 수 있도록 하겠습니다
이 작업은 HomeView에서 버튼을 클릭할 때 실행해야 할 내용입니다
예를 들자면 그렇습니다
이 Floating Action Button(플로팅 작업 버튼)이 그렇습니다
이 이유로 navigation(탐색)이 필요한 것입니다So that's why we want to navigate.
이제 HomeView에서는 HomeView를 호출할 때마다
이 navController과 ViewModel을 요구하는데, 어차피 필요하게 될 것들입니다
그렇게 데이터를 표시하고 데이터를 ViewModel을 통해 수정하도록 하겠습니다
이제 이 버튼을 누를 때 navController가 우리에게 pass(전달)되도록
했습니다
이 Floating Action Button(플로팅 작업 버튼)에서 실제 코드를 실행해서
NavController을 사용해 navigate(탐색)을 할 수 있게 하는데
Screen.route입니다
이것이 전부입니다
이렇게 하면 우리는 다른 화면으로 넘어갈 수 있습니다
이제 실제로 화면 전환이 가능한지, 혹은 아직도 오류사항이 있는지 확인해 보겠습니다
오류가 있네요
네
HomeView가 navController와 ViewModel을 둘 다 필요로 합니다
그러므로 navController과 ViewModel 모두를 pass(전달)하겠습니다
이 내용은 Navigation에서 가져오는 것입니다
이제 이 Navigation에는
MainActivity 파일 안에 필요한 모든 디테일이 있는지 먼저 확인해야 하는데, 아직 부족합니다
여기에 있는 Navigation에 대한 작업이 되어 있지 않습니다
그래도 여기에서 이미 정의를 하고 있기 때문에 문제는 없습니다
여기에서는 기본적으로 ViewModel을 쓰고 생성하는 navController 객체들을 기억하라고
명령하는 것입니다
확인해 봅시다
다른 화면으로 넘어가는 작업이 가능한지 보겠습니다
여기 있습니다
더하기 기호가 있는 버튼을 누르겠습니다
버튼을 누르니 "항목 추가“ 화면으로 넘어왔습니다
완벽합니다
이제 사용자 인터페이스(UI)는 거의 완료가 되었습니다
다만 뒤로가기 버튼을 누르면 아무 일도 일어나지 않습니다
이 부분을 다음 영상에서 수정하겠습니다만
오늘 할 작업은 거의 끝난 것이, 데이터 저장과 관련된 모든 로직은
내일 다룰 것이기 때문입니다
그럼 다음 영상에서 뵙겠습니다