navigation library 추가

dependencies {
  def nav_version = "2.3.0-alpha04"

  // Kotlin
  implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
  implementation "androidx.navigation:navigation-ui-ktx:$nav_version"

  // Dynamic Feature Module Support
  implementation "androidx.navigation:navigation-dynamic-features-fragment:$nav_version"

Navigation 구성요소

Navigation graph

Destination의 연결 정보를 가지고 있는 xml resource 입니다.

NavHost

Navigation graph에 Destination을 보여주는 container 입니다.

NavController

NavHost 안에서 Destination의 navigation을 관리하는 controller 입니다.

navigation graph 추가

https://developer.android.com/guide/navigation/navigation-getting-started#create-nav-graph

https://developer.android.com/guide/navigation/navigation-getting-started#create-nav-graph

res 폴더에서 오른쪽 클릭을 하고 new → Android Resource File을 선택한다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/9b10f3d6-11d0-4ea9-b71c-cbc78a407d48/Untitled.png

선택하면 New Resource File 팝업이 보이는데 File Name과 Resource type을 아래 그림과 같이 변경한다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/7a01b654-dcbb-47af-887c-5c555c89d92b/Untitled.png

main_activity에 nav_host_fragment 추가