旧的实现方式只能是继承RealmObject
这个抽象类,对于一些第三方的类库,如果同样需要继承某些基类,很可能会有冲突:
public class User extends RealmObject {
...
}
因此从0.89.0版本开始,可以直接实现一个RealmModel
接口,并在类声明前面加上@RealmClass
注解声明即可:
@RealmClass
public class User implements RealmModel {
...
}
然后之前在RealmObject
对象上调用的方法只能通过静态方法的形式去调用:
// With RealmObject
user.deleteFromRealm();
user.isValid();
user.addChangeListener(listener);
// With RealmModel
RealmObject.deleteFromRealm(user);
RealmObject.isValid(user);
RealmObject.addChangeListener(user, listener);
具体可参考官方文档:https://realm.io/docs/java/0.89.1/#realmmodel-interface
还有change log:https://github.com/realm/realm-java/blob/master/CHANGELOG.md