realm android

// Step 1: Add the Realm dependencies to your app's build.gradle file
implementation "io.realm:realm-android:insert_latest_version_here"

// Step 2: Create a Realm configuration in your application class or wherever appropriate
val realmConfig = RealmConfiguration.Builder()
    .name("myrealm.realm")
    .schemaVersion(1)
    .deleteRealmIfMigrationNeeded()
    .build()

// Step 3: Initialize Realm with the created configuration in your application class
Realm.init(context)
Realm.setDefaultConfiguration(realmConfig)

// Step 4: Define a RealmObject class representing your data model
open class YourModel : RealmObject() {
    @PrimaryKey
    var id: Long = 0
    var name: String = ""
    // add other fields as needed
}

// Step 5: Perform CRUD operations using Realm
// 5.1: Create or update an object
val realm = Realm.getDefaultInstance()
realm.executeTransaction {
    val yourModel = realm.createObject(YourModel::class.java, primaryKeyValue)
    yourModel.name = "John Doe"
    // set other fields as needed
}

// 5.2: Query data using RealmQuery
val results = realm.where(YourModel::class.java)
    .equalTo("name", "John Doe")
    .findAll()

// 5.3: Update data within a transaction
realm.executeTransaction {
    val yourModel = realm.where(YourModel::class.java)
        .equalTo("name", "John Doe")
        .findFirst()
    yourModel?.name = "Jane Doe"
}

// 5.4: Delete data within a transaction
realm.executeTransaction {
    val yourModel = realm.where(YourModel::class.java)
        .equalTo("name", "Jane Doe")
        .findFirst()
    yourModel?.deleteFromRealm()
}

// Step 6: Close the Realm instance when it's no longer needed
realm.close()