자 개발하는 방법에 대해 알아보자.
먼저 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 |