본문 바로가기

Android

Android Navigation #1

Navigation 기본 구성요소

 

  • Navigation Graph
    • 모든 Navigation 관련 정보를 하나로 모은 XML 리소스
    • 행선지인 Destinations, 경로들을 포함한다
  • NavHost
    • Navigation Graph에서 Destination을 표시하는 빈 컨테이너
    • NavHost 구현한 NvaHostFragment가 존재한다
  • NavController
    • NavHost에서 Navigation을 관리하는 객체
    • 사용자가 이동할 때 NavHost에서 Destination을 전환

 

Navigation Graph에서 정의한 특정 경로를 따라 이동할지, 혹은 특정 대상으로 직접 이동할지 navController에게 전달한다.

그러면 NavController가 NavHost에 적절한 대상을 표시한다.

 

장점

  • 트랜잭션 처리
  • UP Button과 Back Button을 올바르게 처리
  • 애니메이션과 전환에 표준화된 리소스 제공
  • 딥 링크 구현 및 처리
  • 최소한의 추가 작업으로 Navigation UI (menu, drawer, toolbar, bottom navigation 등)
  • Safe Args - Destination 사이에서 데이터를 탐색하고 전달할 때 안정성을 제공하는 플러그인
  • ViewModel 지원 - Navigation Graph에 대한 ViewModel을 확인해 Graph Destination사이에 UI관련 데이터를 공유

'Android' 카테고리의 다른 글

Android Navigation #2  (0) 2020.06.25