0Pricing
Android Academy · Ders

Kotlin Flow Temelleri

Veri akışları yayınlayın ve toplayın.

Kotlin Flow Temelleri, CoddyKit'te ücretsiz bir Android 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, 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.

Flow Nedir

Bir Flow, zaman içinde birden çok değer yayan eş zamansız bir akıştır. Onu dönüştürebileceğiniz ve toplayabileceğiniz, askıya alınabilir bir dizi olarak düşünebilirsiniz.

Flow Oluşturma

flow { } oluşturucusu, değerler arasında isteğe bağlı olarak askıya alınarak emit ile değerler yaymanızı sağlar.

fun numbers(): Flow<Int> = flow {
    for (i in 1..3) {
        delay(100)
        emit(i)
    }
}

Flow Toplama

Bir akış, siz onu toplayana kadar hiçbir şey yapmaz. Toplama bir askıya alma işlemidir; bu nedenle bir korutin içinde çalışır.

scope.launch {
    numbers().collect { value ->
        println(value)
    }
}

Soğuk Akışlar

Flow'lar soğuktur: oluşturucu bloğu her toplayıcı için baştan çalışır. İki toplayıcı da başlangıçtan itibaren birbirinden bağımsız kendi dizisini alır.

map ve filter ile Dönüştürme

İşleçler, yalnızca toplandıklarında çalışacak şekilde değer yaymalarını tembel olarak dönüştürür.

numbers()
    .map { it * 10 }
    .filter { it > 10 }
    .collect { println(it) }

Diğer İşleçler

  • take(n) — yalnızca ilk n değeri alır.
  • onEach — her değer için yan etki uygular.
  • distinctUntilChanged — tekrarları atlar.

Hataları Ele Alma

Üst akıştan gelen özel durumları catch işleciyle yakalayın.

numbers()
    .map { riskyTransform(it) }
    .catch { e -> emit(-1) }
    .collect { println(it) }

Tamamlanmaya Tepki Verme

Akış tamamlandığında veya iptal edildiğinde kod çalıştırmak için onCompletion kullanın.

numbers()
    .onCompletion { println("done") }
    .collect { println(it) }

Üretici İş Parçacığını Değiştirme

Toplayıcıyı etkilemeden üst akışı belirli bir dağıtıcı üzerinde çalıştırmak için flowOn kullanın.

fun load(): Flow<Data> = flow {
    emit(readFromDisk())
}.flowOn(Dispatchers.IO)

Sonlandırıcı İşleçler

Bazı işleçler akışı sonlandırır ve toList, first veya reduce gibi bir değer döndürür. Bunlar suspend işlevleridir.

val all: List<Int> = numbers().toList()

Android'de Flow'ların Öne Çıktığı Yerler

Flow'lar zaman içinde değer yayan her şeyi modeller: veritabanı değişiklikleri (Room), konum güncellemeleri, yazdıkça arama ve birden çok veri kaynağını birleştirme.

Hızlı Kontrol

Flow temelleri konusundaki anlayışınızı test edin.

Özet

Şunları öğrendiniz:

  • flow { emit(...) }'in eş zamansız bir akış oluşturduğunu.
  • Flow'ların soğuk olduğunu ve yalnızca toplandıklarında çalıştığını.
  • map/filter ile dönüştürmeyi, catch ile hataları ele almayı.
  • flowOn'un üretici dağıtıcısını belirlediğini.

Sıkça Sorulan Sorular

“Kotlin Flow Temelleri” dersi ücretsiz mi?

Evet — “Kotlin Flow Temelleri” 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.

“Kotlin Flow Temelleri” dersinde ne öğreneceğim?

Veri akışları yayınlayın ve toplayı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 3. dersidir.

“Kotlin Flow Temelleri” 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