- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在为我的应用程序使用 Realm ORM。我有 3 个模型类,其中两个扩展了 RealmObject 而另一个没有。
public class Party extends RealmObject implements Parcelable {
@PrimaryKey
public int id;
public String name;
public String name_en;
public String name_ne;
public String address;
public String phoneNumber;
public String taxRegistrationNumber;
public String partyType;
第二个类包含一个类型为 Party 的字段。但这并没有扩展 RealmObject
public class CreatePurchaseOrder implements Parcelable {
public int voucherNumber;
public Date date;
public Party party;
String agent;
第三个类包含一个用于 CreatePurchaseOrder 的字段并扩展了 RealmObject
[public class CreatePurchaseOrderRow extends RealmObject implements Parcelable {
@PrimaryKey
public int id;
private int serialNumber;
private String specification;
private float quantity;
private float rate;
private String remarks;
private boolean fulfilled;
private CreatePurchaseOrder createPurchaseOrder;
使用这种方法,它会生成一条错误消息 screenshot of error message
那么是否有必要用 RealmObject 扩展每个 Model 类?
最佳答案
从技术上讲,您不必直接从您的模型类扩展 RealmObject
。
docs说:
Realm model classes are created by extending the RealmObject base class.
这意味着如果你不扩展 RealmObject
,你的类就不是一个 Realm
模型,因此它不能存储在一个 Realm 中。
然而,您也可以实现 RealmModel
接口(interface)并使用 @RealmClass
注释您的模型类
@RealmClass
public class MyModel implements RealmModel {
}
如前所述here :
Why do model classes need to extend RealmObject?
We need to add Realm specific functionality to your model classes. It also allows us to use generics in our APIs, making it easier to read and use. If you don’t want to extend a base class you can instead implement the RealmModel interface.
和here :
An alternative to extending the RealmObject base class is implementing the RealmModel interface and adding the @RealmClass annotation.
是同一个目的,不同的手段。你遇到的问题是一样的。您不能在 Realm 中存储普通对象。您必须使用上述两种方式之一将您的模型类连接到 Realm。
请注意,如果您使用第二种方法,用法会有所不同:
// With RealmObject
myModel.isValid();
// With RealmModel
RealmObject.isValid(myModel);
关于android - 在使用 Realm 时是否有必要使用 RealmObject 扩展每个模型类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38451001/
我正在使用 this solution在二进制矩阵中找到与图像边界对齐的矩形。假设现在我想找到一个不与图像边框对齐的矩形,并且我不知道它的方向;找到它的最快方法是什么? 为了示例,让我们寻找一个仅包含
else: 行在这个 Python 程序中是否正确/必要? from random import randrange for n in range(10): r = randrange(0,1
在 TDPL 7.1.5.1 中讨论了将 Widget w2 分配给 w1 并且作者指出“将 w2 逐个字段分配给 w1 会将 w2.array 分配给 w1.array——一个简单的数组边界分配,而
我是一名优秀的程序员,十分优秀!