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 |
---|