В какой контейнер хранится граф навигации

«В какой контейнер хранится граф навигации» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Граф навигации в Android хранится в NavController, который управляет навигацией между фрагментами/активити. Сам граф описывается в XML-файле (например, nav_graph.xml) и загружается через NavHostFragment.

Пример объявления в XML:

<navigation xmlns:android="..." 
    android:id="@+id/nav_graph"
    app:startDestination="@id/mainFragment">
    <fragment android:id="@+id/mainFragment" ... />
    <fragment android:id="@+id/detailFragment" ... />
</navigation>

Ключевые компоненты:

  • NavGraph – объектное представление XML-графа.
  • NavHost (обычно NavHostFragment) – контейнер для отображения destinations.
  • NavController – управляет переходами и back stack.