💻
Jetpack Navigation
  • 01. Başlarken..
  • 02. Navigation Çalışma Yapısı ve Bileşenleri
  • 03. Navigation Destekli Uygulama Oluşturmak
  • 04. Projenize Navigation Graph Eklemek
  • 05. Projenize NavHostFragment Eklemek
  • 06. Bir Destination'ın Anatomisi
  • 07. Destination'ların Bağlanması
  • 08. NavController Kullanarak Bir Hedef Noktasına Gitmek
  • 09. Nested Navigation Graphs
  • 10. Global Actions
  • 11. Talk is cheap show me the code!
    • Örnek-1: NavController Kullanarak Bir Hedef Noktasına Gitmek
    • Örnek-2: Destination'lar Arasında Veri Aktarma
    • Örnek-3: Navigation Komponenti ile Options Menu Kullanımı
    • Örnek-4: Navigation Komponenti ile ActionBar ve DrawerLayout Kullanımı
    • Örnek-5: Navigation Komponenti ile BottomNavigationView Kullanımı
    • Örnek-6: Özel Geçiş Animasyonu Hazırlama
    • Örnek-7: Navigation Komponenti ile Deep Links Kullanımı
  • Kaynaklar
  • Hakkında
Powered by GitBook
On this page
  • Navigation Editor
  • Navigation Component’in Avantajları Nelerdir?

Was this helpful?

02. Navigation Çalışma Yapısı ve Bileşenleri

Bu bölümde Navigation komponent'ini oluşturan yapıtaşları neler? Hangi avantajları sağlıyor? gibi soruların cevaplarını bulacağız.

Previous01. Başlarken..Next03. Navigation Destekli Uygulama Oluşturmak

Last updated 5 years ago

Was this helpful?

Navigation bileşeninin 3 ana bölümü vardır.

1. Navigation Graph (Navigasyon Grafiği) 2. NavHostFragment (NavHost, kullanıcı uygulamanızda gezinirken hedeflerin içeri dışarı kaydırıldığı boş bir kapsayıcıdır ve varsayılan olarak bir NavHostFragment’i içerir.) 3. NavController (NavHost’taki hedef içeriğin değiştirilmesini düzenler.)

Navigation Graph (Navigasyon Grafiği), yeni bir kaynak (resources) türüdür. Bilgi içeren ve merkezileştiren bir XML dosyasıdır. Daha da önemlisi artık bu bilgiler aşağıdaki gibi görselleştirilebilir durumda.

Navigation Editor adı verilen bu editör üzerinde aşağıda göründüğü gibi hem içerik alanlarını hem de birbiri ile olan bağlantıları görüntülenir.

1. Uygulamanızdaki farklı içerik alanlarını belirtir. (Destinations) 2. Kullanıcıların alabileceği yolları belirten mantıksal bağlantılardır. (Actions)

Bu iki ifadeyi (Destinations ve Actions) bundan sonra da sıklıkla duyacaksınız.

Navigation Editor

Projenize bir graph ekledikten sonra, graph'ı Android Studio Navigation Editor ile açabilir, görsel olarak düzenleyebilir veya XML'i doğrudan düzenleyebilirsiniz.

  1. Destinations (Hedefler) paneli: HOST ve Navigation Editor'de bulunan bulunan tüm hedefleri listeler.

  2. Graph Editörü: Navigasyon grafiğinizin görsel bir temsilini içerir. Hem XML içerinde metin görünümünü hem de grafik görünümü görebilirsiniz.

  3. Attributes: Ekranın sağ kısmında navigation graph'ta' seçili olan öğenin niteliklerini gösterir.

Editor'ün Metin sekmesinde de XML kısmına göz atabilirsiniz.

<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/nav_graph">

</navigation>

Navigation Component’in Avantajları Nelerdir?

- Fragment işlemlerini işleme (handling) - Varsayılan olarak yukarı ve geri işlemlerini doğru şekilde işleme. - Derin bağlantıların (deep linking) uygulanması ve ele alınması. (handling) - Minimum ek çalışma ile birlikte “bottom navigation”, “navigation drawers” gibi Navigation UI pattern’leri ile kolay entegrasyon ve çalışma. - Hedefler arasında gezinirken ve veriler arasında geçiş yaparken tür güvenliği sağlayan (Safe Args) bir gradle eklentisi içerir. - ViewModel desteğine sahiptir. UI ile Navigation Graph hedefleri arasında paylaşmak için bir ViewModel ‘i bir Navigation graph’a dahil edebilirsiniz.

Navigation, Android Studio 3.3 ve üzeri ile kullanılabilir durumdadır.

<navigation> elementi, bir navigation graph'ın kök (root) öğesidir. Graph'ınıza destination ve action ekledikçe, burada karşılık gelen <destination> ve <action> öğelerini alt öğeler olarak görebilirsiniz. Ayrıca 'larınız varsa, bunlar da alt <navigation> öğeleri olarak görünür.

Nested graph
Navigation Graph (Navigasyon Grafiği)
Navigation Editor üzerinde Destinations ve Actions
Navigation Editor