Android 领域-将领域对象复制到另一个领域对象类型
我正在尝试将一个领域对象数据复制到另一个领域对象数据。不必单独设置每个属性,这是否可行?我正在执行以下操作,但应用程序只是停止响应并最终崩溃Android 领域-将领域对象复制到另一个领域对象类型,android,realm,Android,Realm,我正在尝试将一个领域对象数据复制到另一个领域对象数据。不必单独设置每个属性,这是否可行?我正在执行以下操作,但应用程序只是停止响应并最终崩溃 Realm realmThread = Realm.getDefaultInstance(); PropertyObject currProperty = realmThread.where(PropertyObject.class).equalTo("propertyId", propertyId).findFi
Realm realmThread = Realm.getDefaultInstance();
PropertyObject currProperty = realmThread.where(PropertyObject.class).equalTo("propertyId", propertyId).findFirst();
if (currProperty != null) {
int propertyFollow = Integer.parseInt(params[1]);
realmThread.beginTransaction();
currProperty.setPropertyFollowed(propertyFollow);
realmThread.commitTransaction();
if (propertyFollow == 1) {
realmThread.beginTransaction();
FavoriteObject newFavProperty = realmThread.createOrUpdateObjectFromJson(FavoriteObject.class, new Gson().toJson(currProperty));
realmThread.commitTransaction();
编辑:
我已经更新了我的代码,它不再崩溃或停止响应,但现在当创建新对象时,属性为空。属性确实匹配,它们只是不同的对象,其中一个对象具有一些附加属性
Realm realmThread = Realm.getDefaultInstance();
PropertyObject currProperty = realmThread.where(PropertyObject.class).equalTo("propertyId", propertyId).findFirst();
if (currProperty != null) {
int propertyFollow = Integer.parseInt(params[1]);
realmThread.beginTransaction();
currProperty.setPropertyFollowed(propertyFollow);
realmThread.commitTransaction();
if (propertyFollow == 1) {
String propertyString = visnetawrap.gsonClient.toJson(currProperty);
realmThread.beginTransaction();
FavoriteObject newFavProperty = realmThread.createOrUpdateObjectFromJson(FavoriteObject.class, propertyString);
realmThread.commitTransaction();
Log.d("NewFavorite", newFavProperty.toString());
}
对不起,我真的不明白你的问题。你到底想做什么?将
RealmObjectA
的实例复制为RealmObjectB
的实例?是的。RealmObjectA中的数据将被复制到RealmObjectB,但A和B是两个不同的实例。示例PropertyObject扩展RealmObject FavoriteObject扩展RealmObject。我认为在Realm中没有标准的方法来实现这一点。我想在RealmObjectA
中创建一个静态函数,比如copyToRealmObjectB
,它有两个参数,一个是RealmObjectA
,另一个是RealmObjectB
。并在静态函数中调用setter和getter进行复制。很抱歉,这看起来不是一个正常合理的要求。为什么不使用RealmObject
字段呢?我明白了,谢谢。