// 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()