Ekranlar Arasında Gezinme
Hedefler arasında ileri ve geri gidin.
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
launchSingleTopvepopUpTo { inclusive }kullanın. - Ekranları yeniden kullanılabilir tutmak için denetleyiciyi değil, lambda ifadelerini geçirin.
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
- NavHost Kurulumu
- Ekranlar Arasında Gezinme
- Bağımsız Değişkenleri Aktarma
- Alt Gezinme