Android Legacy Navigation

Implement Jetpack Navigation Component with XML graphs and SafeArgs for type-safe fragment navigation. Use when working with XML-based navigation or SafeArgs in legacy Android projects; defer drawer and other UI-chrome work to UI skills.

HoangNguyen0403 Updated 542 repo stars

File contents

Android Legacy Navigation Standards

Priority: P1 (HIGH)

1. Set Up Single-Activity Architecture

  • Use one Host Activity with NavHostFragment.
  • Enable SafeArgs plugin — MANDATORY for passing data between fragments.

See XML graph & SafeArgs examples for NavHostFragment setup.

2. Manage Navigation Graphs

  • Nested Graphs: Modularize navigation/ resources (e.g., nav_auth.xml, nav_main.xml) to keep graphs readable.
  • Deep Links: Define explicit <deepLink> in graph, not AndroidManifest intent filters.

3. Navigate with SafeArgs

See XML graph & SafeArgs examples for type-safe navigation usage.

Anti-Patterns

  • No Raw String Bundle Keys: Use SafeArgs generated type-safe classes.
  • No Manual Fragment commit(): Use NavController for all navigation.

References

  • XML Graph & SafeArgs

HoangNguyen0403/agent-skills-standard/tree/main/skills/android/android-legacy-navigation commit 3a520b0d85

Frequently asked questions

npx skillmds@latest add hoangnguyen0403/android-legacy-navigation