navigation ๋งŒ๋“ค๊ธฐ

2021. 1. 14. 22:57

 

https://developer.android.com/guide/navigation/navigation-getting-started?hl=ko

 

Navigation  |  Android ๊ฐœ๋ฐœ์ž  |  Android Developers

Navigation Navigation์€ Android ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด์—์„œ '๋Œ€์ƒ' ์‚ฌ์ด๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, ๋Œ€์ƒ์ด Fragment, Activity ๋˜๋Š” ๊ธฐํƒ€ ๊ตฌ์„ฑ์š”์†Œ๋กœ ๊ตฌํ˜„๋˜์—ˆ๋Š”์ง€์— ๊ด€๊ณ„์—†์ด ์ผ๊ด€๋œ API๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ํ‘œ์—๋Š”

developer.android.com

 

dependencies {
  def nav_version = "2.3.2"

  // Java language implementation
  implementation "androidx.navigation:navigation-fragment:$nav_version"
  implementation "androidx.navigation:navigation-ui:$nav_version"

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

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

  // Testing Navigation
  androidTestImplementation "androidx.navigation:navigation-testing:$nav_version"

  // Jetpack Compose Integration
  implementation "androidx.navigation:navigation-compose:1.0.0-alpha04"
}

 

build.gradle(app)์˜ dependencies์— ์‚ฌ์šฉํ•  ์–ธ์–ด์— ๋งž์ถ”์–ด ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

 

 

๋‹ค์Œ์€ ํ™”๋ฉด ์ด๋™์˜ ํ๋ฆ„์„ ํ•œ๋ˆˆ์— ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด nav_graph๋ฅผ ๋งŒ๋“œ๋Š” ๊ณผ์ •์ด๋‹ค.

 

res > New > Android Resource Directory๋ฅผ ํด๋ฆญํ•œ ํ›„ 

 

Resource type์„ navigation์œผ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ์ƒ์„ฑํ•œ๋‹ค.

 

navigation ํด๋”์—์„œ Navigation Resource File์„ ํด๋ฆญํ•˜์—ฌ 'nav_graph'๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

 

 

 <fragment
        android:id="@+id/nav_host_fragment"
        android:name="androidx.navigation.fragment.NavHostFragment"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"

        app:defaultNavHost="true"
        app:navGraph="@navigation/nav_graph" />
        

 

activity_main.xml ํŒŒ์ผ์— ์œ„ ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•˜์—ฌ nav_graph๋ฅผ ์ ์šฉํ•œ๋‹ค.

 

 

fragment๋ฅผ ๋งŒ๋“  ํ›„

nav_graph์—์„œ fragment๋ฅผ ๋ถˆ๋Ÿฌ์™€ ์—ฐ๊ฒฐํ•˜๋ฉด

fragment์˜ ํ๋ฆ„์„ ํ•œ ๋ˆˆ์— ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

728x90

BELATED ARTICLES

more