Realm Kotlin für Kotlin: Vollständiges Tutorial mit Beispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Realm Kotlin für Kotlin: Vollständiges Tutorial mit Beispielen

1. Was ist Realm Kotlin und warum brauchst du es?

Realm Kotlin ist eine moderne, schnelle und objektorientierte mobile Datenbank, die speziell für das Kotlin Multiplatform (KMP)-Ökosystem entwickelt wurde. Im Gegensatz zu traditionellen Lösungen wie SQLite oder Room arbeitet Realm nicht mit Tabellen und Zeilen, sondern direkt mit Kotlin-Objekten. Das bedeutet, du arbeitest mit Daten genauso wie mit normalen Klassen, ohne SQL-Abfragen schreiben oder Daten manuell mappen zu müssen. Realm Kotlin ist der direkte Nachfolger der beliebten Realm-Bibliothek für Java, wurde aber komplett für Kotlin neu geschrieben und unterstützt Coroutinen, Flow und Multiplattform-Entwicklung (Android, iOS, macOS, JVM).

Warum brauchst du es? In erster Linie, um die Entwicklung mobiler Apps zu beschleunigen. Realm reduziert die Menge an Boilerplate-Code bei der Arbeit mit lokalen Speichern erheblich. Du deklarierst einfach ein Datenmodell, und Realm generiert automatisch alles, was zum Speichern, Lesen, Aktualisieren und Löschen von Objekten benötigt wird. Dank der integrierten Unterstützung für reaktive Streams (Flow aus der kotlinx.coroutines-Bibliothek) werden Änderungen in der Datenbank sofort in der UI widergespiegelt – ideal für die MVVM-Architektur. Realm ist außerdem für seine hohe Leistung bekannt: Es läuft auf einer eigenen C++-Engine, was Lese- und Schreibgeschwindigkeiten nahe an nativen Lösungen ermöglicht.

Hauptanwendungsfälle: Caching von Serverdaten, Offline-Modus, Speicherung komplexer verschachtelter Strukturen (z. B. Warenkorb im Online-Shop oder Chat-Verlauf) und Datensynchronisation zwischen Geräten über Realm Sync (der Cloud-Dienst MongoDB Atlas). Realm Kotlin ist nicht nur "eine weitere ORM", sondern eine vollwertige Datenbank-Engine, die den Umgang mit dem Anwendungszustand grundlegend verändert.

2. Installation

Realm Kotlin wird über das Gradle-Build-System installiert. Da die Bibliothek auf Kotlin Multiplatform ausgelegt ist, unterscheidet sich die Konfiguration etwas von standardmäßigen Android-Abhängigkeiten.

Wichtig: Realm Kotlin wird nicht über pip (Python) oder npm (JavaScript) installiert. Es ist eine native Bibliothek für JVM/Android/iOS.

Füge folgenden Code in deine root build.gradle.kts-Datei (Projekt-Ebene) ein:

// Root build.gradle.kts
plugins {
    id("io.realm.kotlin") version "1.16.0" apply false
}

Füge dann in der build.gradle.kts-Datei deines Moduls (app oder shared) Folgendes hinzu:

// build.gradle.kts des Moduls
plugins {
    kotlin("multiplatform")
    id("io.realm.kotlin")
}

kotlin {
    // Konfiguration der Targets (Android, iOS, etc.)
    androidTarget()
    listOf(
        iosX64(),
        iosArm64(),
        iosSimulatorArm64()
    ).forEach {
        it.binaries.framework {
            baseName = "shared"
        }
    }

    sourceSets {
        val commonMain by getting {
            dependencies {
                implementation("io.realm.kotlin:library-base:1.16.0")
                // Für Coroutinen-Unterstützung
                implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0")
            }
        }
        // ... andere source sets
    }
}

Für reine Android-Projekte (ohne KMP) ist die Konfiguration einfacher:

// build.gradle.kts (Module :app)
plugins {
    id("com.android.application")
    kotlin("android")
    id("io.realm.kotlin")
}

android {
    // ... Standardeinstellungen
}

dependencies {
    implementation("io.realm.kotlin:library-base:1.16.0")
}

Nach der Gradle-Synchronisation ist die Bibliothek einsatzbereit.

3. Schnellstart – Minimales funktionierendes Beispiel

Erstellen wir ein einfaches Datenmodell "Benutzer

Empfehlungen