Java 检查是否尚未保存新领域对象
有人知道,我如何检查域对象是否尚未保存到数据库中?Java 检查是否尚未保存新领域对象,java,android,realm,Java,Android,Realm,有人知道,我如何检查域对象是否尚未保存到数据库中? 我想实现如下示例所示的逻辑: protected boolean prepareToSave(Product product, Realm realm) { // are we have enought space at storage? int productLimit = getLimit(); if( /* product.isStoredInDB() && */ re
我想实现如下示例所示的逻辑:
protected boolean prepareToSave(Product product, Realm realm) {
// are we have enought space at storage?
int productLimit = getLimit();
if(
/* product.isStoredInDB() && */
realm.where(Product.class).count() >= productLimit)
Toast.makeText(this, "Not enought space at storage", Toast.LENGTH_LONG).show();
else
// do another stuff
}
编辑:
其中:
public class Product extends RealmObject {
@PrimaryKey private long id;
@Required private String title;
private String note;
private byte[] image;
private byte[] thumbnail;
private double count = Double.NaN;
private double minimumCount = Double.NaN;
// getters and setters
}
方法getLimit()
只返回存储的syntetic限制,而不返回真正的SD卡或内部存储容量。此限制用于提供应用内购买。您可以使用
Product p = getProduct()
if (!p.isManaged()) {
// Object isn't saved in Realm
}
但是您的代码片段似乎表明您希望检查设备是否有足够的空间来存储您的更改。实际上没有一种方法可以确定这一点,因为这在很大程度上取决于您要存储的数据类型。感谢您的回答,Christian。我已经写了补充资料来澄清我的问题。您能否回答:方法
createObject(类,对象)
是创建Product
类的托管实例还是非托管实例?