The Navigation Component (part of Jetpack) is the recommended way to handle in-app navigation — moving between destinations (fragments or composables) within a single-Activity architecture. It centralizes navigation logic and handles back stack, arguments, and deep links.
What it provides
The Navigation Component manages navigation within the app:
→ a NAV GRAPH defines destinations (screens) and the actions (paths) between them
(visually/declaratively — one place to see all navigation)
→ a NavController performs navigation; handles the BACK STACK automatically
→ type-safe ARGUMENT passing (Safe Args); deep linking support
→ Designed for SINGLE-ACTIVITY architecture (one activity, many fragment/composable destinations)
