0Pricing
Android Academy · Pelajaran

Dasar-Dasar Kotlin Flow

Pancarkan dan kumpulkan aliran data.

Dasar-Dasar Kotlin Flow adalah pelajaran Android Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Android Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Android Academy mencakup 4 pelajaran total.

Apa Itu Flow?

Flow adalah aliran asinkron yang memancarkan banyak nilai seiring waktu. Anggaplah sebagai urutan yang dapat dijeda, diubah, dan dikumpulkan.

Membangun Flow

Pembangun flow { } memungkinkan Anda emit nilai, dengan opsi untuk menjeda di antara nilai-nilai tersebut.

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

Mengumpulkan Flow

Flow tidak melakukan apa pun sampai Anda mengumpulkannya. Pengumpulan merupakan operasi suspend, sehingga berjalan di dalam coroutine.

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

Aliran Dingin

Flow bersifat dingin: blok pembangun dijalankan dari awal untuk setiap pengumpul. Dua pengumpul masing-masing mendapatkan urutan independen sendiri sejak awal.

Mengubah dengan map dan filter

Operator mengubah emisi secara malas, dan hanya berjalan saat dikumpulkan.

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

Operator Lainnya

  • take(n)—hanya n nilai pertama.
  • onEach—efek samping untuk setiap nilai.
  • distinctUntilChanged—melewati nilai yang berulang.

Menangani Kesalahan

Tangkap pengecualian dari hulu dengan operator catch.

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

Merespons Penyelesaian

Gunakan onCompletion untuk menjalankan kode saat Flow selesai atau dibatalkan.

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

Mengubah Thread Produsen

Gunakan flowOn untuk menjalankan aliran dari hulu pada dispatcher tertentu tanpa memengaruhi pengumpul.

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

Operator Terminal

Beberapa operator mengakhiri Flow dan mengembalikan nilai, seperti toList, first, atau reduce. Operator tersebut merupakan fungsi suspend.

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

Keunggulan Flow di Android

Flow cocok untuk memodelkan apa pun yang memancarkan data seiring waktu: perubahan basis data (Room), pembaruan lokasi, pencarian saat mengetik, dan penggabungan beberapa sumber data.

Pemeriksaan Singkat

Uji pemahaman Anda tentang dasar-dasar Flow.

Rangkuman

Anda telah mempelajari:

  • flow { emit(...) } membangun aliran asinkron.
  • Flow bersifat dingin dan hanya berjalan saat dikumpulkan.
  • Lakukan transformasi dengan map/filter, lalu tangani kesalahan dengan catch.
  • flowOn menetapkan dispatcher produsen.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Dasar-Dasar Kotlin Flow” gratis?

Ya — teks lengkap “Dasar-Dasar Kotlin Flow” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Android Academy, upgrade ke CoddyKit PRO. Kursus Android Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Dasar-Dasar Kotlin Flow”?

Pancarkan dan kumpulkan aliran data. Kamu berlatih Android Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Android Academy?

Tidak diperlukan pengalaman sebelumnya. Android Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Dasar-Dasar Kotlin Flow” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Android Academy ini?

Ya. Setiap pelajaran Android Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Dasar-Dasar Coroutine dan Cakupan
  2. viewModelScope dan Dispatcher
  3. Dasar-Dasar Kotlin Flow
  4. StateFlow dan SharedFlow
← Kembali ke Android Academy