[Android] Compose Navigation 이란?

문승연·2023년 9월 26일
0

Navigation. 안드로이드 공식 문서 한글 번역본에서는 탐색이라고 표시된다.
Navigation은 사용자가 앱 내의 여러 컨텐츠를 탐색하고, 그곳에 들어갔다 나올 수 있게 하는 상호작용을 의미한다.

Navigation은 3가지 주요 구성 요소로 이루어져있다.

  1. NavGraph : 탐색 그래프. 모든 Navigation 관련 정보가 하나의 중심 위치에 모여 있는 XML 리소스. 여기에는 Destination(대상) 이라고 불리는 앱 내의 모든 개별적 컨텐츠 영역과 사용자가 앱에서 갈 수 있는 모든 이용 가능한 경로가 포함된다.

  2. NavHost : 탐색 그래프에서 대상을 표시하는 빈 컨테이너. 사용자가 앱을 탐색하는 동안 NavHost에서 Destination이 교체된다.
    NavHost의 기본 구성요소로 프래그먼트 대상을 표시하는 NavHost 구현인 NavHostFragment 가 포함된다. NavHostFragment 는 프래그먼트 Destination의 교체를 처리한다.

  3. NavController : NavHost에서 앱 탐색을 관리하는 개체. NavController는 사용자가 앱 내에서 이동할 때 NavHost에서 대상 컨텐츠의 전환을 조정합니다.

앱을 탐색하는 동안 탐색 그래프에서 특정 경로를 따라 이동할지, 특정 대상으로 직접 이동할지 NavController 에게 전달합니다. 그러면 NavController NavHost에 적절한 대상을 표시합니다.

  • 프래그먼트 트랜잭션 처리.
  • '위로'와 '뒤로'의 작업을 올바르게 처리.
  • 애니메이션과 전환에 표준화된 리소스 제공.
  • 딥 링크 구현 및 처리.
  • 최소한의 추가 작업으로 탐색 UI 패턴 포함
  • Safe Args - 대상 사이에서 데이터를 탐색하고 전달할 때 유형 안정성을 제공하는 그래프 플러그인.
  • ViewModel 지원 - 탐색 그래프에 대한 ViewModel 을 확인해 그래프 대상 사이에 UI 관련 데이터를 공유.

출처) 탐색

profile
"비몽(Bemong)"이라는 앱을 개발 및 운영 중인 안드로이드 개발자입니다.

0개의 댓글