Kotlin Multiplatform Academy · Pelajaran

Mengamati Tabel sebagai Flow

Dapatkan pembaruan reaktif saat basis data berubah

Pelajaran 4 dari 413 langkah

Mengamati Tabel sebagai Flow adalah pelajaran Kotlin Multiplatform Academy gratis di CoddyKit. Ini adalah pelajaran 4 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 Kotlin Multiplatform Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Kotlin Multiplatform Academy mencakup 4 pelajaran total.

Mengapa Mengamati, Bukan Melakukan Polling

Menjalankan ulang kueri secara manual dapat melewatkan perubahan. SQLDelight dapat mengirimkan hasil terbaru kepada Anda setiap kali tabel berubah.

Tambahkan Ekstensi Coroutines

Kueri reaktif memerlukan artefak coroutines-extensions, yang menambahkan dukungan Flow di atas kueri yang dihasilkan.

implementation("app.cash.sqldelight:coroutines-extensions:2.0.2")

Ubah Kueri Menjadi Flow

Panggil asFlow pada kueri select apa pun untuk mendapatkan Flow yang memancarkan ulang setiap kali tabel yang mendasarinya ditulis.

val flow = queries.selectAll().asFlow()

Petakan ke Hasil

asFlow memberikan penampung kueri, jadi rangkai mapToList untuk memancarkan daftar Kotlin siap pakai setiap kali data berubah.

val players = queries.selectAll()
    .asFlow()
    .mapToList(Dispatchers.IO)

Aliran Satu Baris

Untuk satu baris, gunakan mapToOneOrNull, yang memancarkan baris atau null dan memperbarui diri secara otomatis saat baris tersebut berubah.

queries.selectById(1)
    .asFlow()
    .mapToOneOrNull(Dispatchers.IO)

Kumpulkan di Kode Bersama

Anda menggunakan aliran tersebut dengan cara mengumpulkannya. Setiap penyisipan, pembaruan, atau penghapusan pada tabel itu memicu emisi baru.

players.collect { list -> render(list) }

Ekspos sebagai StateFlow

Bungkus Flow dalam StateFlow agar ViewModel bersama Anda menyimpan daftar terbaru sebagai satu sumber kebenaran.

val state = players.stateIn(scope, SharingStarted.Eagerly, emptyList())

Android Mengumpulkan dengan Compose

Di Android, collectAsState mengubah StateFlow menjadi status Compose, sehingga daftar dikomposisi ulang secara otomatis setiap kali terjadi perubahan.

val list by viewModel.state.collectAsState()

iOS Mengumpulkan dari Swift

Di iOS, Anda mengamati StateFlow yang sama dari Swift dan memperbarui SwiftUI, sehingga kedua aplikasi tetap selaras dengan basis data.

Satu Penulisan, Kedua UI Diperbarui

Sisipkan satu baris di mana saja dan setiap Flow yang aktif akan memancarkan ulang. Basis data menjadi sumber langsung yang menggerakkan kedua platform.

Pilih Dispatcher yang Tepat

Jalankan pemetaan di luar utas utama dengan meneruskan dispatcher latar belakang, sehingga UI tetap lancar saat kueri berjalan.

Pemeriksaan Singkat

Anda mengumpulkan selectAll().asFlow().mapToList(...). Kapan aliran tersebut memancarkan nilai lagi?

Ringkasan: Data Langsung

Anda telah mengubah kueri menjadi Flow, memetakannya ke hasil, mengekspos StateFlow, dan membiarkan kedua UI diperbarui setiap kali ada penulisan. Basis data bersama Anda kini reaktif. ✅

Gratis untuk memulai

Belajar Kotlin dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mengamati Tabel sebagai Flow” gratis?

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

Apa yang akan aku pelajari di “Mengamati Tabel sebagai Flow”?

Dapatkan pembaruan reaktif saat basis data berubah Kamu berlatih Kotlin Multiplatform 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 Kotlin Multiplatform Academy?

Tidak diperlukan pengalaman sebelumnya. Kotlin Multiplatform 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 4 dari 4.

Berapa lama pelajaran “Mengamati Tabel sebagai 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 Kotlin Multiplatform Academy ini?

Ya. Setiap pelajaran Kotlin Multiplatform 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. Menambahkan SQLDelight & Menulis Skema .sq
  2. Penyiapan SqlDriver Platform
  3. Menyisipkan, Mengueri & Memperbarui Baris
  4. Mengamati Tabel sebagai Flow
← Kembali ke Kotlin Multiplatform Academy