Jetpack Navigation: Getting Started
In this course, learn how to use the Navigation Architecture Component provided by Android Jetpack Library to simplify navigation in your app. It also helps you visualize your app’s navigation flow. You will also learn how to add Animations and Deep links to your navigation flow. By Bhavna Thacker.
Learning path
This is part of the Advanced Android Data & Networking learning path. View path.
Who is this for?
This course is for Android developers who have heard about Jetpack Navigation, but haven’t tried it out and haven’t read a lot of documentation or went through many examples. It is also for people who know a little bit about Jetpack Navigation, but don’t feel comfortable enough to start using it in their apps. It expects you to be familiar with Android Studio and Kotlin. You will require Android Studio 3.3 or higher to build an app using Navigation component.
Covered concepts
- Navigation Graph
- Navigation Destinations
- Navigation Actions
- Safe Args
- Global Actions
- Animations
- Deep Links
Part 1: Set Up Navigation
This episode covers what is Navigation Architecture component and why use it.
Understand the Starter App named “Authorize Me” and have a look at its different screens you are going to tie using Navigation component.
Add required dependencies for using Jetpack Navigation in Project level and app module’s build.gradle.
Learn how to create a Navigation graph in the app and take a tour of three sections in the navigation graph.
Part 2: Create Destinations & Navigate via Actions
Learn how to add a Fragment as a Start Destination in nav graph and add a NavHostFragment via XML to Main Activity.
Learn how to add new destinations in the navigation graph and navigate to them via actions.
Learn how to use safe args to pass data between destinations.
Part 3: Add Animations & Deep Links
Learn how to add custom transition animation during navigation.
Learn how to add global actions for common destinations.
Learn about explicit and implicit deep links and how to implement an explicit Deep link.
Learn how to handle a web URL deep link in the app.
Learn how to create a custom URI that will allow you to navigate to any fragment by URI.