界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
开发与工程 · SKILL.md

android-legacy-navigation

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.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: android-legacy-navigation description: 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. metadata: triggers: files: - 'navigation/*.xml' keywords: - findNavController - NavDirections - navArgs

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

我的收藏