Uygulamada navigasyon kütüphanesi dışında hangi navigasyon yöntemleri mevcuttur?
sobes.tech yapay zeka
AI'dan gelen yanıt
-
Açık Intents:
startActivity()kullanarak aktiviteler arasında geçiş.// NewActivity'ye geçmek için intent oluşturma val intent = Intent(this, NewActivity::class.java) // Verileri intent'e ekleme intent.putExtra("data_key", "some value") // Yeni aktiviteyi başlatma startActivity(intent) -
Kapalı Intents: Diğer uygulamalardan veya sistemin diğer bölümlerinden aktiviteler başlatma.
// Bir web sayfasını açmak için intent oluşturma val webpage: Uri = Uri.parse("http://www.android.com") val webIntent = Intent(Intent.ACTION_VIEW, webpage) // Bu intent'i işleyebilecek aktiviteyi başlatma startActivity(webIntent) -
DialogFragment: Bilgi gösterme veya kullanıcıdan giriş alma amaçlı diyalog pencereleri kullanımı, bu pencereler ek işlemlere yol açabilir veya kapanabilir.
// Bir diyalog fragmenti örneği oluşturma val myDialogFragment = MyDialogFragment() // Diyaloğu gösterme myDialogFragment.show(supportFragmentManager, "my_dialog") -
FragmentTransaction: Bir aktivite içindeki fragmentleri manuel yönetme: ekleme, değiştirme, silme.
// FragmentManager'ı alma val fragmentManager = supportFragmentManager // Bir işlem başlatma val fragmentTransaction = fragmentManager.beginTransaction() // Mevcut fragmenti yenisiyle değiştirme fragmentTransaction.replace(R.id.fragment_container, newFragment) // İşlemi geri yığına ekleme fragmentTransaction.addToBackStack(null) // İşlemi onaylama fragmentTransaction.commit() -
Tek-aktivite mimarisi ve manuel fragment yönetimi: Tüm gezinme, gösterilen fragmentleri değiştirerek tek bir aktivite içinde gerçekleştirilir. Bu, temelde
FragmentTransactionkullanımını daha yapılandırılmış hale getirir. -
Özelleştirilmiş View'ler: Uygulamanın durumuna göre içerik değiştiren veya geçiş yapan kendi View'lerin kullanıldığı karmaşık ve standart dışı bir gezinme yapısı.
| Navigasyon Yöntemi | Temel Mekanizma | Avantajlar | Dezavantajlar |
|---|---|---|---|
| Açık Intents | Diğer Activity'yi sınıfa göre başlatma | Activity arasında basit geçiş, veri iletimi | Çok sayfalı uygulamalarda karmaşıklık |
| Kapalı Intents | Eylem/veri ile Activity başlatma | Diğer uygulamalarla etkileşim | İç navigasyon için sınırlı esneklik |
| DialogFragment | Diyalog penceresi gösterme | Modali pencerelerin basit gösterimi | Ana navigasyon için uygun değil |
| FragmentTransaction | Activity içindeki Fragment yaşam döngüsü yönetimi | Esnek UI kontrolü | Manuel backstack ve durum yönetimi gerektirir |
| Tek-aktivite + Fragmentlar | Activity'de Fragment değişimi | Tek ekranlı uygulamalar için uygun | Çok sayfalı uygulamalarda karmaşık hale gelebilir |
| Özelleştirilmiş View'ler | UI geçişleri için kendi mantığı | Maksimum esneklik ve özelleştirme | Geliştirme ve bakımda yüksek karmaşıklık |