0Pricing
Kotlin Multiplatform Academy · Lección

Configuración de SqlDriver por plataforma

Proporcione drivers de Android e iOS mediante expect/actual

Configuración de SqlDriver por plataforma es una lección gratuita de Kotlin Multiplatform Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Kotlin Multiplatform Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Kotlin Multiplatform Academy incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

What a Driver Does

SQLDelight generates queries, but it needs a SqlDriver to actually talk to SQLite. Each platform ships its own driver.

Why Drivers Differ

Android and iOS open SQLite differently, so there is no single shared driver. This is exactly the job for expect/actual.

Declare the expect Factory

In commonMain you declare an expect function that promises a SqlDriver, without saying how each platform builds it.

expect fun driverFactory(): SqlDriver

Add Platform Driver Deps

Each source set pulls in its own driver artifact: an Android driver in androidMain and a native driver in iosMain.

androidMain: "app.cash.sqldelight:android-driver:2.0.2"
iosMain: "app.cash.sqldelight:native-driver:2.0.2"

Android actual Driver

On Android you build an AndroidSqliteDriver, passing the generated schema and a Context to open the file.

actual fun driverFactory(): SqlDriver =
    AndroidSqliteDriver(AppDatabase.Schema, context, "app.db")

Context on Android

The Android driver needs a Context. Pass the application context in so the database survives the whole app lifecycle.

iOS actual Driver

On iOS you build a NativeSqliteDriver from the same schema. No Context needed; it stores the file in the app sandbox.

actual fun driverFactory(): SqlDriver =
    NativeSqliteDriver(AppDatabase.Schema, "app.db")

The Schema Object

Both drivers take AppDatabase.Schema. SQLDelight generated it from your .sq file, and it creates the tables on first launch.

Build the Database

With a driver in hand you create the database instance. This AppDatabase is your typed entry point to every query.

val database = AppDatabase(driverFactory())

Share One Instance

Creating many databases wastes file handles. Build the driver once and reuse a single AppDatabase across the app.

Inject the Driver

Pass the driver in from each platform rather than hardcoding it. This keeps shared code testable with a fake or in-memory driver.

Quick Check

How does SQLDelight get a platform-specific database driver into shared code?

Recap: Wire the Engine

You declared an expect driver factory, supplied AndroidSqliteDriver and NativeSqliteDriver, and built one AppDatabase. Now you can run queries. ✅

Preguntas frecuentes

¿La lección «Configuración de SqlDriver por plataforma» es gratis?

Sí — el texto completo de «Configuración de SqlDriver por plataforma» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Kotlin Multiplatform Academy, actualiza a CoddyKit PRO. El curso de Kotlin Multiplatform Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Configuración de SqlDriver por plataforma»?

Proporcione drivers de Android e iOS mediante expect/actual Practicas Kotlin Multiplatform Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Kotlin Multiplatform Academy?

No se requiere experiencia previa. Kotlin Multiplatform Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Configuración de SqlDriver por plataforma»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Kotlin Multiplatform Academy?

Sí. Cada lección de Kotlin Multiplatform Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Añada SQLDelight y escriba esquemas .sq
  2. Configuración de SqlDriver por plataforma
  3. Inserte, consulte y actualice filas
  4. Observe tablas como Flow
← Volver a Kotlin Multiplatform Academy