Gezinme

Gezinme, kullanıcıların uygulamanızdaki farklı içeriklere geçme, bu içeriklerden ayrılma ve içerik parçalarından geri dönüş yapma olanağı tanıyan etkileşimleri ifade eder.

Android Jetpack'in Navigasyon bileşeni, Gezinme kitaplığını, Safe Args Gradle eklentisini ve uygulamada gezinmeyi uygulamanıza yardımcı olacak araçları içerir. Gezinme bileşeni, basit düğme tıklamalarından uygulama çubukları ve gezinme çekmecesi gibi daha karmaşık kalıplara kadar çeşitli gezinme kullanım alanlarını yönetir.

Temel kavramlar

Aşağıdaki tabloda, gezinmedeki üç temel kavram ve bunları uygulamak için kullandığınız ana türler hakkında genel bir bakış sunulmaktadır.

Konsept

Amaç

Tür

Düzenleyen

Geçerli gezinme hedefini içeren bir kullanıcı arayüzü öğesi. Yani, kullanıcı bir uygulamada gezinirken, uygulama esasen navigasyon ana makinesinde ve ana makinede hedefler değiştirir.

Grafik

Uygulama içindeki tüm gezinme hedeflerini ve bunların birbirine nasıl bağlanacağını tanımlayan bir veri yapısı.

NavGraph

Kumanda

Hedefler arasında navigasyonu yönetmek için merkezi koordinatör. Denetleyici; hedefler arasında gezinme, derin bağlantıları işleme, arka yığını yönetme ve daha pek çok şey için yöntemler sunar.

NavController

Avantajlar ve özellikler

Gezinme bileşeni, aşağıdakiler de dahil olmak üzere daha pek çok avantaj ve özellik sunar:

  • Animasyonlar ve geçişler: Animasyonlar ve geçişler için standartlaştırılmış kaynaklar sağlar.
  • Derin bağlantı: Kullanıcıyı doğrudan bir hedefe götüren derin bağlantıları uygular ve işler.
  • Kullanıcı arayüzü kalıpları: Gezinme çekmeceleri ve alt gezinme gibi kalıpları minimum düzeyde ek çalışmayla destekler.
  • Tür güvenliği: Hedefler arasında gezinirken ve veri aktarırken tür güvenliği sağlayan Safe Args Gradle eklentisini içerir.
  • ViewModel desteği: Grafiğin hedefleri arasında kullanıcı arayüzü ile ilgili verileri paylaşmak için bir gezinme grafiğinin ViewModel kapsama alınmasını sağlar.
  • Parça işlemleri: Parça işlemleri tam olarak destekler ve yönetir.
  • Yedekleme ve yedekleme: Geri ve ileri işlemlerini varsayılan olarak doğru şekilde işler.

Ortamınızı ayarlama

Projenize gezinme desteğini dahil etmek için uygulamanızın build.gradle dosyasına aşağıdaki bağımlılıkları ekleyin:

Modern

dependencies {
  def nav_version = "2.7.7"

  // Java language implementation
  implementation "androidx.navigation:navigation-fragment:$nav_version"
  implementation "androidx.navigation:navigation-ui:$nav_version"

  // Kotlin
  implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
  implementation "androidx.navigation:navigation-ui-ktx:$nav_version"

  // Feature module Support
  implementation "androidx.navigation:navigation-dynamic-features-fragment:$nav_version"

  // Testing Navigation
  androidTestImplementation "androidx.navigation:navigation-testing:$nav_version"

  // Jetpack Compose Integration
  implementation "androidx.navigation:navigation-compose:$nav_version"
}

Kotlin

dependencies {
  val nav_version = "2.7.7"

  // Java language implementation
  implementation("androidx.navigation:navigation-fragment:$nav_version")
  implementation("androidx.navigation:navigation-ui:$nav_version")

  // Kotlin
  implementation("androidx.navigation:navigation-fragment-ktx:$nav_version")
  implementation("androidx.navigation:navigation-ui-ktx:$nav_version")

  // Feature module Support
  implementation("androidx.navigation:navigation-dynamic-features-fragment:$nav_version")

  // Testing Navigation
  androidTestImplementation("androidx.navigation:navigation-testing:$nav_version")

  // Jetpack Compose Integration
  implementation("androidx.navigation:navigation-compose:$nav_version")
}

Projenize başka mimari bileşenleri ekleme hakkında bilgi için Projenize bileşen ekleme bölümüne bakın.

Sonraki adımlar

Gezinme bileşeniyle ilgili diğer belgeler ve kaynaklar için aşağıdaki kaynaklara bakın.

Ayrıntılı kılavuzlar

Gezinme ana makinesini ve NavController öğesini uygulama, bunların Compose ve diğer kullanıcı arayüzü çerçeveleriyle nasıl etkileşimde bulundukları hakkında ayrıntılı bilgi için aşağıdaki kılavuzlara bakın:

Codelab uygulamaları

Videolar

Numuneler