Navigation. 안드로이드 공식 문서 한글 번역본에서는 탐색이라고 표시된다.
Navigation은 사용자가 앱 내의 여러 컨텐츠를 탐색하고, 그곳에 들어갔다 나올 수 있게 하는 상호작용을 의미한다.
Navigation은 3가지 주요 구성 요소로 이루어져있다.
NavGraph
: 탐색 그래프. 모든 Navigation 관련 정보가 하나의 중심 위치에 모여 있는 XML 리소스. 여기에는 Destination(대상) 이라고 불리는 앱 내의 모든 개별적 컨텐츠 영역과 사용자가 앱에서 갈 수 있는 모든 이용 가능한 경로가 포함된다.
NavHost
: 탐색 그래프에서 대상을 표시하는 빈 컨테이너. 사용자가 앱을 탐색하는 동안 NavHost
에서 Destination
이 교체된다.
NavHost
의 기본 구성요소로 프래그먼트 대상을 표시하는 NavHost
구현인 NavHostFragment
가 포함된다. NavHostFragment
는 프래그먼트 Destination의 교체를 처리한다.
NavController
: NavHost
에서 앱 탐색을 관리하는 개체. NavController
는 사용자가 앱 내에서 이동할 때 NavHost
에서 대상 컨텐츠의 전환을 조정합니다.
앱을 탐색하는 동안 탐색 그래프에서 특정 경로를 따라 이동할지, 특정 대상으로 직접 이동할지 NavController
에게 전달합니다. 그러면 NavController
가 NavHost
에 적절한 대상을 표시합니다.
ViewModel
지원 - 탐색 그래프에 대한 ViewModel
을 확인해 그래프 대상 사이에 UI 관련 데이터를 공유.출처) 탐색