본문 바로가기
Android/네비게이션

JeckPack 네비게이션이란 (2) - 실전 편

by 안스 인민군 2023. 6. 19.

자 개발하는 방법에 대해 알아보자.

먼저 Gradle에 추가해준다.

dependencies {
  def nav_version = "2.5.3"

  // 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:$nav_version"
}

위에서 Java, Kotlin은 언어마다의 지원되는 Implement 일 것이고

Test 는 테스트를위한 Implement, Compose는 Compose를 위한 Inplement일 것 이다.

Feature module support는 네비게이션 동적 기능 프래그먼트는 앱의 모듈화 동적 모듈 기능을 지원하기 위한 기능이다. 이를 사용하면 앱을 여러 개의 독립된 모듈로 분할하여 필요에 따라 다운로드하고 설치할 있다. 동적 모듈은 필요한 기능을 포함하고 있으며, 네비게이션 동적 기능 프래그먼트를 사용하면 이러한 동적 모듈을 네비게이션 그래프에 통합할 있다.

 

이해가 안될 수 도 있는데 예를 들어, 앱에 게시판 기능을 추가하려고 한다고 가정해보자. 게시판 기능은 앱의 핵심 기능이지만, 모든 사용자가 필요로 하는 것은 아닐 수 있다. 따라서 게시판 기능을 동적 모듈로 만들어 필요에 따라 다운로드하고 설치할 수 있게 할 수 있다.

네비게이션 동적 기능 프래그먼트를 사용하여 동적 모듈의 네비게이션 그래프를 정의하고, 해당 그래프에는 동적 모듈의 화면(fragment)들이 포함한다. 그러면 앱에서 네비게이션 컨트롤러를 사용하여 동적 모듈의 화면으로 이동할 수 있다.


네비게이션 그래프

  • Navigation Graph는 새로운 리소스 타입이다
  • xml 파일 형태로 탐색에 관련된 정보를 포함하고 중심화한다.
  • AndroidStudio 3.3 이상에서 이용 가능하다.

Navigation 정보들을 한 곳에 모은 XML 리소스로, 앱에서 진행될 수 있는 모든 흐름을 보여주고 앱 내 Fragment를 한눈에 확인하기 쉽다.

 

'Android > 네비게이션' 카테고리의 다른 글

네비게이션 실전편  (0) 2023.08.07
Single Activity Architecture(SAA)란?  (0) 2023.08.02
네비게이션이란 (1)  (0) 2023.08.02
JeckPack 네비게이션이란 (1) - 이론 편  (0) 2023.06.18