Какие знаешь способы перехода между экранами в Android приложении

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

Ответ

В Android есть несколько способов навигации между экранами:

  1. Intent + Activity
    val intent = Intent(this, SecondActivity::class.java)
    startActivity(intent)
  1. FragmentManager + FragmentTransaction
    supportFragmentManager.beginTransaction()
        .replace(R.id.container, MyFragment())
        .addToBackStack(null)
        .commit()
  1. Jetpack Navigation Component
    <fragment android:id="@+id/firstFragment"
        app:destination="@id/secondFragment" />
    findNavController().navigate(R.id.secondFragment)
  1. Deep Links
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:scheme="https" android:host="example.com" />
    </intent-filter>
  1. ViewPager2 – для горизонтальной навигации (например, onboarding).

Выбор зависит от архитектуры: для простых приложений подойдут Activity/Intent, для сложных – Navigation Component.