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 kavramlara ve bunları uygulamak için kullandığınız ana türlere 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ı. |
|
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. |
|
Hedef |
Gezinme grafiğindeki bir düğüm. Kullanıcı bu düğüme gittiğinde, ana makine bu düğüme ait içeriği görüntüler. |
Genellikle gezinme grafiği oluşturulurken oluşturulur. |
Rota |
Bir hedefi ve hedefin gerektirdiği tüm verileri benzersiz olarak tanımlar. Rotaları kullanarak gezinebilirsiniz. Rotalar sizi istediğiniz yerlere götürür. |
Serileştirilebilen tüm veri türleri. |
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: Tür güvenliği ile hedefler arasında veri geçirme desteği 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:
Groovy
dependencies { def nav_version = "2.8.4" // Jetpack Compose Integration implementation "androidx.navigation:navigation-compose:$nav_version" // Views/Fragments Integration implementation "androidx.navigation:navigation-fragment:$nav_version" implementation "androidx.navigation:navigation-ui:$nav_version" // Feature module support for Fragments implementation "androidx.navigation:navigation-dynamic-features-fragment:$nav_version" // Testing Navigation androidTestImplementation "androidx.navigation:navigation-testing:$nav_version" }
Kotlin
dependencies { val nav_version = "2.8.4" // Jetpack Compose integration implementation("androidx.navigation:navigation-compose:$nav_version") // Views/Fragments integration implementation("androidx.navigation:navigation-fragment:$nav_version") implementation("androidx.navigation:navigation-ui:$nav_version") // Feature module support for Fragments implementation("androidx.navigation:navigation-dynamic-features-fragment:$nav_version") // Testing Navigation androidTestImplementation("androidx.navigation:navigation-testing:$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:
- Gezinme denetleyicisi oluşturma:
NavController
oluşturmayı özetler. - Gezinme grafiğinizi oluşturma: Bir gezinme ana makinesi ve gezinme grafiğinin nasıl oluşturulacağına ilişkin ayrıntılar.
- Bir hedefe git: Grafiğinizdeki hedefler arasında hareket etmek için
NavController
öğesinin nasıl kullanılacağını gösterir.
Codelab uygulamaları
- Jetpack Navigasyonu'nu öğrenme
- Parçalar ve Gezinme Bileşeni
- Dinamik gezinme ile uyarlanabilir uygulama oluşturma
Videolar
- Navigasyonda gezinme
- Tek bir etkinliğe geçmek için en iyi 10 uygulama
- Tek etkinlik: Neden, ne zaman ve nasıl (Android Dev Summit '18)
- Android Jetpack: Gezinme kumandasıyla kullanıcı arayüzünde gezinmeyi yönetme (Google I/O '18)