di app gradle
apply plugin: 'realm-android'
di project gradle
classpath "io.realm:realm-gradle-plugin:6.0.0"
buat class MyApp extent Aplication
package dev.malikkurosaki.patungan;
import android.app.Activity;
import android.app.Application;
import android.os.Bundle;
import io.realm.Realm;
import io.realm.RealmConfiguration;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Realm.init(this);
RealmConfiguration config = new RealmConfiguration.Builder()
.name("PatunganDb8.realm")
.schemaVersion(2)
.migration(new MigrasiBaru())
.build();
//.migration(new MigrasiBaru())
Realm.setDefaultConfiguration(config);
Realm.getInstance(config);
}
@Override
public void onTerminate() {
super.onTerminate();
Realm.getDefaultInstance().close();
}
}
buat migrasi class
package dev.malikkurosaki.patungan;
import io.realm.DynamicRealm;
import io.realm.RealmMigration;
import io.realm.RealmSchema;
public class MigrasiBaru implements RealmMigration {
@Override
public void migrate(DynamicRealm realm, long oldVersion, long newVersion) {
RealmSchema schema = realm.getSchema();
if (oldVersion == 1){
realm.getSchema().get("DatabaseOrang")
.addField(DatabaseOrang.AGAMA,String.class);
}
}
}
buat model pojo class
package dev.malikkurosaki.patungan;
import io.realm.RealmObject;
import io.realm.annotations.PrimaryKey;
public class DatabaseOrang extends RealmObject {
@PrimaryKey
public String nama;
public String umur;
public String agama;
public static final String NAMA = "nama";
public static final String UMUR = "umur";
public static final String AGAMA = "agama";
public DatabaseOrang(){
}
public DatabaseOrang(String nama, String umur, String agama) {
this.nama = nama;
this.umur = umur;
this.agama = agama;
}
public String getAgama() {
return agama;
}
public void setAgama(String agama) {
this.agama = agama;
}
public String getUmur() {
return umur;
}
public void setUmur(String umur) {
this.umur = umur;
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
}
deklarasi di oncreate
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Realm.init(context);
realm = Realm.getDefaultInstance();
}
transaksi sederhananya
/*DatabaseOrang orang = realm.createObject(DatabaseOrang.class,"malik");
orang.setUmur("12");*//*
DatabaseOrang updateOrang = realm.where(DatabaseOrang.class).equalTo("nama","malik").findFirst();
realm.beginTransaction();
updateOrang.setUmur("23");
realm.commitTransaction();*/
/*realm.beginTransaction();
DatabaseOrang or = realm.createObject(DatabaseOrang.class,DatabaseOrang.NAMA);
or.setUmur("19");
realm.commitTransaction();
*/
DatabaseOrang db = realm.where(DatabaseOrang.class).equalTo(DatabaseOrang.NAMA,DatabaseOrang.NAMA).findFirst();
if (db == null){
Log.i(TAG, "init: ya null");
}
RealmResults<DatabaseOrang> oranya = realm.where(DatabaseOrang.class).findAll();
for (DatabaseOrang o : oranya){
Log.i(TAG, "init: "+o.getUmur());
}