0Pricing
Android Academy · Ders

Coroutine Temelleri ve Kapsamlar

Coroutine'leri doğru kapsamda başlatın.

Coroutine Temelleri ve Kapsamlar, CoddyKit'te ücretsiz bir Android Academy dersidir. Bu, 4 dersinin 1. 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.

Korutinler Nedir

Korutinler, eş zamansız ve engellemesiz kodu sıralı bir biçimde yazmanızı sağlar. Ağ ve veritabanı G/Ç işlemleri gibi görevlerde geri çağırmaların ve iş parçacıklarının Kotlin'deki karşılığıdır.

suspend İşlevleri

suspend ile işaretlenen bir işlev, iş parçacığını engellemeden duraklayabilir ve daha sonra devam edebilir. Yalnızca bir korutinden veya başka bir suspend işlevinden çağrılabilir.

suspend fun fetchUser(): User {
    delay(1000) // non-blocking pause
    return User(1, "Ada", "ada@x.com")
}

Askıya Alma ve Engelleme

delay, korutini askıya alır ancak iş parçacığını diğer işler için serbest bırakır. Thread.sleep, iş parçacığının tamamını engeller. Korutinler verimli kalmak için askıya almayı tercih eder.

Korutin Başlatma

CoroutineScope üzerinde launch kullanarak bir korutin başlatın. Eş zamanlı çalışır ve sonuç döndürmez.

scope.launch {
    val user = fetchUser()
    println(user.name)
}

async ile Sonuç Alma

Geriye bir değer almanız gerektiğinde async kullanın. Bu, await ile beklediğiniz bir Deferred döndürür.

val deferred = scope.async { fetchUser() }
val user = deferred.await()

CoroutineScope Nedir

Kapsam, içinde başlatılan korutinlerin yaşam süresini belirler. Kapsamı iptal ettiğinizde tüm korutinleri de iptal edilir. Buna yapılandırılmış eşzamanlılık denir.

Yapılandırılmış Eşzamanlılık

Korutinler bir kapsamın içinde yaşadığı için yanlışlıkla kapsamdan daha uzun süre var olamaz. Bu, sızıntıları önler: ekran kapandığında kapsamı iptal edilir ve yaptığı iş durur.

İptal

Bir kapsamı veya işi iptal etmek, bir sonraki askıya alma noktasında CancellationException fırlatır ve korutini düzgün biçimde durdurur.

val job = scope.launch { /* work */ }
job.cancel() // stops it cooperatively

İş Birliğine Dayalı İptal

Korutinler iş birliği yapmalıdır: uzun CPU döngüleri isActive değerini denetlemeli veya iptalin uygulanabilmesi için bir suspend işlevi çağırmalıdır.

while (isActive) {
    // do a chunk of work
}

Korutinlerde Özel Durumlar

launch içindeki yakalanmamış bir özel durum kapsama yayılır ve kardeş korutinleri iptal eder (SupervisorJob kullanılması dışında). Hataları try/catch veya CoroutineExceptionHandler ile yönetin.

Android'de Kapsamlar Neden Önemlidir

Android, bileşenlerin yaşam döngülerine bağlı, kullanıma hazır kapsamlar sağlar; örneğin viewModelScope ve lifecycleScope. Böylece korutinleriniz doğru zamanda otomatik olarak iptal edilir. Sıradaki dersin konusu budur.

Hızlı Kontrol

Korutin kapsamları konusundaki anlayışınızı test edin.

Özet

Şunları öğrendiniz:

  • suspend işlevlerinin engellemeden durakladığını.
  • launch'ın sonucu beklemeden iş başlattığını, async'in ise sonuç döndürdüğünü.
  • CoroutineScope'un korutinlerin yaşam süresini sınırlandırdığını (yapılandırılmış eşzamanlılık).
  • İptalin iş birliğine dayalı olduğunu.

Sıkça Sorulan Sorular

“Coroutine Temelleri ve Kapsamlar” dersi ücretsiz mi?

Evet — “Coroutine Temelleri ve Kapsamlar” 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.

“Coroutine Temelleri ve Kapsamlar” dersinde ne öğreneceğim?

Coroutine'leri doğru kapsamda başlatın. 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 1. dersidir.

“Coroutine Temelleri ve Kapsamlar” 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. Coroutine Temelleri ve Kapsamlar
  2. viewModelScope ve Dispatcher'lar
  3. Kotlin Flow Temelleri
  4. StateFlow ve SharedFlow
← Android Academy Sayfasına Dön