Gezinme

Gezinme, kullanıcıların uygulamanızdaki farklı içerikler arasında gezinmesini, bu içeriklere giriş ve bu farklı içeriklerden geri dönmesini sağlayan etkileşimleri ifade eder.

Android Jetpack'in Navigasyon bileşeni, Gezinme kitaplığı, Safe Args Gradle eklentisi 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ı ele alır.

Temel kavramlar

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

Konsept

Amaç

Tür

Düzenleyen

Mevcut gezinme hedefini içeren bir kullanıcı arayüzü öğesi. Yani, bir kullanıcı bir uygulamada gezindiğinde, uygulama temelde navigasyon ana makinesine ve ana makineden hedefler değiştirir.

Grafik

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

NavGraph

Kumanda

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

NavController

Avantajlar ve özellikler

Gezinme bileşeni, aşağıdakiler de dahil olmak üzere başka 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 yönlendiren derin bağlantıları uygular ve işler.
  • Kullanıcı arayüzü kalıpları: Minimum ek çalışmayla gezinme çekmeceleri ve altta gezinme gibi kalıpları destekler.
  • Tür güvenliği: Hedefler arasında veri gezerken 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ğine ViewModel kapsamının dahil edilmesini etkinleştirir.
  • Parça işlemleri: Parça işlemleri tam olarak destekler ve işler.
  • Yedekleme ve yedekleme: Yedekleme ve yedekleme işlemlerini varsayılan olarak doğru şekilde ele alır.

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 edinmek için Projenize bileşen ekleme bölümüne bakın.

Sonraki adımlar

Gezinme bileşeniyle ilgili daha fazla doküman ve kaynak için aşağıdaki kaynaklara bakın.

Ayrıntılı kılavuzlar

Gezinme ana makinesinin ve NavController'nin nasıl uygulanacağı hakkında daha fazla bilginin yanı sıra bunların Compose ve diğer kullanıcı arayüzü çerçeveleriyle nasıl etkileşimde bulundukları hakkında daha fazla bilgi için aşağıdaki kılavuzlara bakın:

Codelab uygulamaları

Videolar

Sana Özel