Tabloları Flow Olarak Gözlemleme
Veritabanı değiştiğinde tepkisel güncellemeler alın.
Tabloları Flow Olarak Gözlemleme, CoddyKit'te ücretsiz bir Kotlin Multiplatform Academy dersidir. Bu, 4 dersinin 4. 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.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
Why Observe Instead of Poll
Re-running a query by hand misses changes. SQLDelight can push fresh results to you whenever the table changes.
Add the Coroutines Extension
Reactive queries need the coroutines-extensions artifact, which adds Flow support on top of your generated queries.
implementation("app.cash.sqldelight:coroutines-extensions:2.0.2")Turn a Query into a Flow
Call asFlow on any select query to get a Flow that re-emits whenever the underlying table is written.
val flow = queries.selectAll().asFlow()Map to Results
asFlow gives a query holder, so chain mapToList to emit a ready Kotlin list each time the data changes.
val players = queries.selectAll()
.asFlow()
.mapToList(Dispatchers.IO)Single-Row Streams
For one row use mapToOneOrNull, which emits the row or null and updates automatically as that row changes.
queries.selectById(1)
.asFlow()
.mapToOneOrNull(Dispatchers.IO)Collect in Shared Code
You consume the stream by collecting it. Every insert, update or delete to that table triggers a fresh emission.
players.collect { list -> render(list) }Expose It as StateFlow
Wrap the Flow in a StateFlow so your shared ViewModel holds the latest list as a single source of truth.
val state = players.stateIn(scope, SharingStarted.Eagerly, emptyList())Android Collects with Compose
On Android, collectAsState turns the StateFlow into Compose state, so the list recomposes automatically on every change.
val list by viewModel.state.collectAsState()iOS Collects from Swift
On iOS you observe the same StateFlow from Swift and update SwiftUI, so both apps stay in sync with the database.
One Write, Both UIs Update
Insert a row anywhere and every active Flow re-emits. The database becomes the live source driving both platforms.
Pick the Right Dispatcher
Run mapping off the main thread by passing a background dispatcher, keeping the UI smooth while queries run.
Quick Check
You collect selectAll().asFlow().mapToList(...). When does it emit again?
Recap: Live Data
You turned queries into Flows, mapped them to results, exposed StateFlow, and let both UIs update on every write. Your shared database is now reactive. ✅
Sıkça Sorulan Sorular
“Tabloları Flow Olarak Gözlemleme” dersi ücretsiz mi?
Evet — “Tabloları Flow Olarak Gözlemleme” 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.
“Tabloları Flow Olarak Gözlemleme” dersinde ne öğreneceğim?
Veritabanı değiştiğinde tepkisel güncellemeler alın. 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 4. dersidir.
“Tabloları Flow Olarak Gözlemleme” 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
- SQLDelight Ekleme ve .sq Şemaları Yazma
- Platform SqlDriver Kurulumu
- Satır Ekleme, Sorgulama ve Güncelleme
- Tabloları Flow Olarak Gözlemleme