Sobes.tech
Junior

Android uygulamalarında gezinme nasıl gerçekleştirilir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Android uygulamalarında gezinme çeşitli şekillerde gerçekleştirilebilir ve bunlar arasında en yaygın olanlar şunlardır:

  • Navigasyon Bileşenleri (Navigation Component): Google tarafından gezinmeyi uygulamak için önerilen çerçevedir. Tüm ekranları ve bunlar arasındaki geçişleri tanımlamak için bir gezinme grafiği kullanır. Argümanlar, derin bağlantılar, geçiş animasyonlarını destekler.

    // Bir gezinme grafiği örneği
    <navigation xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/nav_graph"
        app:startDestination="@id/fragmentA">
    
        <fragment
            android:id="@+id/fragmentA"
            android:name="com.example.myapp.FragmentA"
            android:label="Fragment A">
            <action
                android:id="@+id/action_fragmentA_to_fragmentB"
                app:destination="@id/fragmentB" />
        </fragment>
        <fragment
            android:id="@+id/fragmentB"
            android:name="com.example.myapp.FragmentB"
            android:label="Fragment B" />
    </navigation>
    
    // Safe Args kullanarak geçiş örneği
    findNavController().navigate(R.id.action_fragmentA_to_fragmentB)
    
  • Açık Intents (Explicit Intents): Belirli bir bileşeni (Activity, Service, BroadcastReceiver) başlatmak için kullanılır, ya aynı uygulama içinde ya da başka bir uygulamada.

    // Activity başlatma örneği
    val intent = Intent(this, SettingsActivity::class.java)
    startActivity(intent)
    
  • Öznel Intents (Implicit Intents): Yapılacak işlemi ve bu işlemin gerçekleştirileceği verileri belirtir. Android sistemi, bu intent'i işlemek için uygun bileşeni bulur.

    // Web sayfası açma örneği
    val webpage = Uri.parse("http://www.android.com")
    val intent = Intent(Intent.ACTION_VIEW, webpage)
    if (intent.resolveActivity(packageManager) != null) {
        startActivity(intent)
    }
    
  • Geri Dönüş Yığını Yönetimi: Android sistemi, gezinme geçmişini yöneten bir geri dönüş yığını tutar. "Geri" düğmesi, kullanıcının yığında bir önceki öğeye gitmesini sağlar.

  • BottomNavigationView: Uygulamada ana hedefler arasında gezinmek için kullanılan UI bileşeni.

  • DrawerLayout (Navigation Drawer): Menü öğeleriyle birlikte kayan yan panel.

Her yöntemin kendine özgü avantajları ve kullanım senaryoları vardır. Navigation Component, uygulama içindeki fragmentler ve aktiviteler arasındaki gezinmeyi yönetmek için tercih edilir, tek bir yaklaşım sağlar ve geri dönüş yığını ile argümanlar üzerinde çalışmayı kolaylaştırır. Intents ise diğer bileşenleri başlatmak ve diğer uygulamalarla etkileşim kurmak için kullanılır.