[Android/안드로이드] navigation 사용하기(1) - 이론 정리

2020. 4. 27. 14:39└ Android Architecture Component/Navigation

1. AndroidX 의 Navigation 라이브러리는 ? 

Navigation은 사용자가 앱 내의 여러 콘텐츠를 탐색하고, 그곳에 들어갔다 나올 수 있게 하는 상호작용을 의미합니다. Android Jetpack의 컴포넌트인 Navigation은 단순한 버튼 클릭해서 좀 더 복잡한 패턴(앱바, 탐색 창)에 이르기까지 여러 가지 탐색을 구현하도록 도와줍니다. Navigation Component는 기존의 원칙을 준수하여 일관적이고 예측 가능한 사용자 환경을 보장합니다.

즉, 네비게이션은 android Jetpack 의 컴포넌트로 앱 화면 전환을 더 편리하게 구현하고 시각화하여 제공해주는 프레임워크 입니다. 

 

2. Navigation의 장점은? 

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

3. Navigation 구성요소 

  • Navigation graph : 모든 대상 및 작업을 포함하는 리소스 파일 
  • NavHostFragment : navigation graph에서 대상을 표시하는 빈 컨테이너 
  • NavContoller : NavHost에서 앱 탐색을 관리하는 객체입니다. NavController는 사용자가 앱 내에서 이동할 때 NavHost에서 대상 콘텐츠의 전환을 오케스트레이션합니다. 

여기까지 이론을 정리해보았습니다 다음 포스트에서는, navigation 구성요소의 사용방법에 대해 알아보겠습니다!