Android 领域模型
示例
领域模型必须扩展RealmObject基类,它们定义基础数据库的模式。
支持的字段类型boolean,byte,short,int,long,float,double,String,Date,byte[],链接到其他RealmObjectS和RealmList<T extends RealmModel>。
public class Person extends RealmObject {@PrimaryKey //主键也隐式地是一个@Index
//copyToRealmOrUpdate()必须更新该对象。
private long id;
@Index //索引使查询速度更快
@Required //防止插入“ null”值
private String name;
private RealmList<Dog> dogs; //->many relationship to Dog
private Person spouse; //->one relationship to Person
@Ignore
private Calendar birthday; //日历不受支持,但可以忽略
// 吸气剂,二传手
}
如果在RealmObject中添加(或删除)新字段(或者添加新的RealmObject类或删除现有的类),则需要进行迁移。你可以设置deleteIfMigrationNeeded()你的RealmConfiguration.Builder,或定义必要的迁移。添加(或删除)@Required,或@Index或@PrimaryKey注释时,也需要迁移。
关系必须手动设置,它们不是基于主键自动建立的。
从0.88.0开始,还可以在RealmObject类中使用公共字段代替私有字段/获取器/设置器。
如果类也用注释,也可以实现RealmModel而不是扩展。RealmObject@RealmClass
@RealmClasspublic class Person implements RealmModel {
// ...
}
在这种情况下,诸如或的方法将被替换为和。person.deleteFromRealm()person.addChangeListener()RealmObject.deleteFromRealm(person)RealmObject.addChangeListener(person)
限制是由RealmObject,只RealmObject可以扩展,并且不存在用于支持final,volatile和transient领域。
重要的是,只能在事务中修改托管RealmObject类。一个管理RealmObject不能在线程之间传递。
以上是 Android 领域模型 的全部内容, 来源链接: utcz.com/z/337910.html