Kullanıcı Niyetlerini ve Eylemlerini Yönetme
Durum değişikliklerini kullanıcı arayüzü olaylarıyla yönlendirin.
Kullanıcı Niyetlerini ve Eylemlerini Yönetme, CoddyKit'te ücretsiz bir Kotlin Multiplatform Academy dersidir. Bu, 4 dersinin 3. 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, Kotlin Multiplatform Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kotlin Multiplatform Academy kursu toplamda 4 dersten oluşur.
Kullanıcı Arayüzü Soruyor, Siz Karar Veriyorsunuz
Kullanıcı bir düğmeye dokunduğunda mantığı kullanıcı arayüzü çalıştırmamalıdır. Kullanıcı arayüzü ViewModel'e bir niyet gönderir; ne olacağına ViewModel karar verir.
Niyetlerinizi Adlandırın
Olası her kullanıcı eyleğini bir mühürlü sınıf olarak modelleyin. Böylece ekranın gönderebileceği her niyet adlandırılmış, türü belirlenmiş ve yanlış yazılamaz hâle gelir.
sealed class HomeIntent {
object Refresh : HomeIntent()
data class Search(val q: String) : HomeIntent()
}Tek Giriş Noktası
Tek bir onIntent işlevi sunun. Her ekran olayı buradan geçer; böylece davranışları yönlendirmek için düzenli ve tek bir yeriniz olur.
fun onIntent(intent: HomeIntent) {
// route to the right handler
}when Her Eylemi Yönlendirir
onIntent içinde bir when, her niyet türünü eşleştirir. Sınıf mühürlü olduğundan derleyici her durumu ele aldığınızdan emin olur.
when (intent) {
HomeIntent.Refresh -> refresh()
is HomeIntent.Search -> search(intent.q)
}İşleyiciler Durumu Günceller
Her işleyici işini yapar ve ardından StateFlow'u günceller. Kullanıcı arayüzü, daha önce olduğu gibi yalnızca bu tek durumdan yeniden çizilir.
private fun refresh() = scope.launch {
_state.update { it.copy(isLoading = true) }
}Neden Genel Yöntemler Değil?
Birçok genel yöntem sunabilirsiniz; ancak tek bir niyet kanalı, ekranın tüm sözleşmesini tek bir türde görünür kılar. Temiz ve test edilebilirdir.
Veriyi Niyette Taşıyın
Girdi gerektiren niyetler bir veri sınıfı kullanır. Kullanıcının sorgusu veya kimliği doğrudan eylemin içinde taşınır.
data class Search(val query: String) : HomeIntent()Tek Seferlik Olaylar Farklıdır
Durum kalıcıdır; ancak bildirim veya yönlendirme bir kez gerçekleşir. Bu tek seferlik olaylar için StateFlow yerine Channel ya da SharedFlow kullanın.
Olayları Channel ile Yayınlayın
Olaylar için özel bir Channel tutun ve bunu Flow olarak sunun. Kullanıcı arayüzü, iletileri göstermek veya yalnızca bir kez yönlendirmek için onu toplar.
private val _events = Channel<String>()
val events = _events.receiveAsFlow()Her İki Uygulama, Aynı Akış
Android niyetleri Compose'dan, iOS ise SwiftUI'dan gönderir; ancak her ikisi de aynı onIntent'e ulaşır. Davranış platformlar arasında hiçbir zaman farklılaşmaz.
Öngörülebilir Bir Döngü
Niyet girer, durum çıkar: bu tek yönlü döngü, ekranı anlamayı, hatalarını ayıklamayı ve test etmeyi kolaylaştırır. Gizli yan yollar yoktur.
Hızlı Kontrol
Kullanıcı arayüzü olaylarının paylaşılan mantığa nasıl ulaşması gerektiğini kontrol edelim.
Özet
Eylemleri mühürlü bir niyet türü olarak modelleyin, bunları tek bir onIntent üzerinden yönlendirin ve durumu oradan güncelleyin. Tek seferlik olaylar için Channel kullanın. 🚀
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
- 30
- Dersler
- 120
Sıkça Sorulan Sorular
“Kullanıcı Niyetlerini ve Eylemlerini Yönetme” dersi ücretsiz mi?
Evet — “Kullanıcı Niyetlerini ve Eylemlerini Yönetme” 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 Kotlin Multiplatform Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kotlin Multiplatform Academy kursu toplamda 4 dersten oluşur.
“Kullanıcı Niyetlerini ve Eylemlerini Yönetme” dersinde ne öğreneceğim?
Durum değişikliklerini kullanıcı arayüzü olaylarıyla yönlendirin. Kotlin Multiplatform 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.
Kotlin Multiplatform Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Kotlin Multiplatform 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 3. dersidir.
“Kullanıcı Niyetlerini ve Eylemlerini Yönetme” 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 Kotlin Multiplatform Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Kotlin Multiplatform 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
- Çok Platformlu Bir ViewModel Temeli
- Kullanıcı Arayüzü Durumunu StateFlow Olarak Dışa Açma
- Kullanıcı Niyetlerini ve Eylemlerini Yönetme
- ViewModel'i Her Kullanıcı Arayüzüne Bağlama