Какие знаешь способы организации навигации в Android

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

Ответ

В Android есть несколько основных способов организации навигации:

  1. Activity-based – классический подход, где каждому экрану соответствует Activity. Переход через startActivity().
val intent = Intent(this, SecondActivity::class.java)
startActivity(intent)
  1. Single Activity + Fragments – одно Activity с заменой Fragments через FragmentManager.
supportFragmentManager.beginTransaction()
    .replace(R.id.container, MyFragment())
    .commit()
  1. Navigation Component – современный подход из Jetpack. Использует граф навигации и NavController.
<navigation>
    <fragment android:id="@+id/first" android:name="com.example.FirstFragment"/>
    <fragment android:id="@+id/second" android:name="com.example.SecondFragment"/>
</navigation>
  1. Deep Links – навигация по URL-ссылкам. Можно явные (точный URL) и неявные (шаблон).

  2. Compose Navigation – для Jetpack Compose через NavHost и NavController.

val navController = rememberNavController()
NavHost(navController, startDestination = "home") {
    composable("home") { HomeScreen(navController) }
}

Выбор зависит от архитектуры, сложности приложения и версии Android. Для новых проектов лучше Navigation Component или Compose Navigation.