Session
Sharing a Room Database Across Android & iOS with Kotlin Multiplatform
A hands-on walkthrough of migrating existing native Android (Jetpack Compose) and iOS (SwiftUI) apps to a shared data layer using Room KMP. Starting from the "Fruitties" sample app, we move its Room database into a shared Kotlin Multiplatform module so both platforms read and write the same persistence layer while keeping their native UIs.
We'll cover the full journey: switching to the BundledSQLiteDriver for cross-platform SQLite support, relocating DAOs and entities to commonMain with the Refactor → Move tooling, configuring KSP and the Room Gradle plugin for each platform target, wiring up RoomDatabaseConstructor with expect/actual, and creating an iOS-specific database builder. We then replace the iOS app's Core Data stack with Room — building entity wrappers, updating repositories and dependency injection, and swapping out @FetchRequest in SwiftUI.
Attendees will leave understanding how to share data-layer logic between Android and iOS without rewriting it twice, plus the practical gotchas (binary size, KSP target setup, ObjC naming) to watch for along the way.
Somasundaram Mahesh
Founding Engineer at AGI Inc
Bengaluru, India
Links
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top