Android Academy · Ders

Ekranlar Arasında Gezinme

Hedefler arasında ileri ve geri gidin.

2. ders / 413 adım

Ekranlar Arasında Gezinme, CoddyKit'te ücretsiz bir Android Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Android Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Android Academy kursu toplamda 4 dersten oluşur.

İlerlemeye Devam Etme

NavHost ayarlandıktan sonra hedef rotayı belirterek NavController üzerinde navigate çağrısıyla başka bir ekrana geçebilirsiniz.

navController.navigate("details")

Bir Düğmeden Tetikleme

Gezinme genellikle bir düğmenin onClick işlevi gibi bir geri çağırmada gerçekleşir.

Button(onClick = { navController.navigate("details") }) {
    Text("Open details")
}

Geri Yığını

Her navigate çağrısı yeni hedefi geri yığınına ekler. Sistemin geri düğmesi bunu otomatik olarak yığından çıkarır ve önceki ekrana döner.

popBackStack

Program aracılığıyla geri gitmek için (örneğin özel bir "Yukarı" düğmesinden) popBackStack çağrısını kullanın. Bu çağrı geçerli hedefi kaldırır ve önceki hedefe döner.

navController.popBackStack()

navigateUp

navigateUp() benzer şekilde çalışır ve araç çubuğundaki Yukarı oku için doğru seçimdir. Gezinme hiyerarşisine uyar.

navController.navigateUp()

Yinelenen Hedeflerden Kaçınma

Bir düğmeye kısa aralıklarla iki kez dokunmak aynı ekranı iki kez yığına ekleyebilir. Bir hedefin yinelenen kopyalarının üst üste eklenmesini önlemek için launchSingleTop = true kullanın.

navController.navigate("details") {
    launchSingleTop = true
}

popUpTo

popUpTo, gezinme sırasında geri yığınının bir bölümünü temizler. Oturum açma işleminden sonra kullanışlıdır: ana ekrana geçer ve oturum açma ekranını kaldırarak geri dönüldüğünde bu ekranın yeniden açılmasını önler.

navController.navigate("home") {
    popUpTo("login") { inclusive = true }
}

inclusive

inclusive = true, popUpTo hedefinin de kaldırılacağı anlamına gelir. inclusive = false olduğunda yığından çıkarma hedefin hemen üstünde durur.

Ekranları Birbirinden Bağımsız Tutma

Tüm NavController nesnesini her ekrana geçirmek yerine lambda ifadeleri geçirin. Ekran onOpenDetails() çağrısını yapar ve gezinmenin iç ayrıntılarından haberdar olmaz.

@Composable
fun HomeScreen(onOpenDetails: () -> Unit) {
    Button(onClick = onOpenDetails) { Text("Details") }
}

Lambda İfadesini Bağlama

NavHost, lambda ifadesini gerçek bir navigate çağrısına bağlayarak gezinme mantığını tek bir yerde tutar.

composable("home") {
    HomeScreen(onOpenDetails = {
        navController.navigate("details")
    })
}

Hepsini Bir Araya Getirme

Ana ekran ayrıntılar ekranına gider; ayrıntılar ekranı da Yukarı okuyla geri döner.

composable("home") {
    HomeScreen(onOpenDetails = { navController.navigate("details") })
}
composable("details") {
    DetailsScreen(onBack = { navController.popBackStack() })
}

Hızlı Kontrol

Kullanıcıyı program aracılığıyla önceki ekrana hangi çağrı döndürür?

Özet

Gezinme:

  • navigate("route") bir hedefi yığına ekler.
  • popBackStack() / navigateUp() geri gider.
  • Yığını denetlemek için launchSingleTop ve popUpTo { inclusive } kullanın.
  • Ekranları yeniden kullanılabilir tutmak için denetleyiciyi değil, lambda ifadelerini geçirin.
Başlamak ücretsiz

Yapay zeka eğitmeniyle Kotlin öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
36
Dersler
152

Sıkça Sorulan Sorular

“Ekranlar Arasında Gezinme” dersi ücretsiz mi?

Evet — “Ekranlar Arasında Gezinme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Android Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Android Academy kursu toplamda 4 dersten oluşur.

“Ekranlar Arasında Gezinme” dersinde ne öğreneceğim?

Hedefler arasında ileri ve geri gidin. Android Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Android Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Android Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Ekranlar Arasında Gezinme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Android Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Android Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. NavHost Kurulumu
  2. Ekranlar Arasında Gezinme
  3. Bağımsız Değişkenleri Aktarma
  4. Alt Gezinme
← Android Academy Sayfasına Dön