import io.realm.DynamicRealm;
import io.realm.RealmMigration;
import io.realm.RealmObjectSchema;
import io.realm.RealmSchema;
/**
* 修改版本号后会执行此代码
* 当版本号修改为 2 时 ,判断老版本号为1时此处举 例如 添加字段 'sex'
*
*/
public class DbMigration implements RealmMigration {
@Override
public void migrate(DynamicRealm realm, long oldVersion, long newVersion) {
RealmSchema schema = realm.getSchema();
if (oldVersion == 1){
RealmObjectSchema petSchema = schema.get("Person");
petSchema.addField("sex",int.class,null);
oldVersion++;
}
}
}
findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Person person = new Person();
person.setAge(11);
person.setName("xiao");
person.setSex(1);
realm.beginTransaction();
realm.copyToRealmOrUpdate(person);
realm.commitTransaction();
Log.i("insert ------", "" + person.getName() + " " + person.getAge());
}
});
//2
findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Person person = realm.where(Person.class).equalTo("name","xiao").findFirst();
Log.i("info ------","" + person.getName() + " "+ person.getAge() +" "+person.getSex());
}
});
官网 https://realm.io/docs/java/latest/