Skills DirectorySearch all skills ↗

AI agent skill · by @HoangNguyen0403

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.

Archived 2026-10-23 · Source updated 2026-09-15 · License: MIT. Check the original repository for the latest version.

SKILL.md instructions

# 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](references/implementation.md) 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](references/implementation.md) 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](references/implementation.md)

Related skills