Android 如何在领域数据库中保存数据
如何在领域数据库中保存数据?我试着写下面的代码。我有一张4号的单子。在for循环中,我可以查看此列表中的所有数据,并且在我执行此方法之后-copyToRealmOrUpdate 因此,如果我想检查数据库的大小,我只看到1的大小,而不是4的大小 更有趣的是,我在另一个类中使用了这段代码,它工作得很好。有什么问题?我禁用了迁移,重写了代码,但我仍然不知道还能做些什么Android 如何在领域数据库中保存数据,android,realm,Android,Realm,如何在领域数据库中保存数据?我试着写下面的代码。我有一张4号的单子。在for循环中,我可以查看此列表中的所有数据,并且在我执行此方法之后-copyToRealmOrUpdate 因此,如果我想检查数据库的大小,我只看到1的大小,而不是4的大小 更有趣的是,我在另一个类中使用了这段代码,它工作得很好。有什么问题?我禁用了迁移,重写了代码,但我仍然不知道还能做些什么 try { realm = Realm.getDefaultInstance(); i
try {
realm = Realm.getDefaultInstance();
if (entityList.size() > 0) {
realm.executeTransaction(r -> {
Log.d(LOGS, "SIze Entity list: " + entityList.size());
for (int i = 0; i < entityList.size(); i++) {
DbRealm db = new DbRealm();
db.setFromEntity(entityList.get(i));
Log.d(LOGS, "entityList.get(i): " + entityList.get(i));
Log.d(LOGS, "File: " + entityList.get(i).getFiles());
Log.d(LOGS, "Comment: " + entityList.get(i).getComment());
Log.d(LOGS, "Date: " + entityList.get(i).getDate());
r.copyToRealmOrUpdate(db);
}
});
Log.d(LOGS, "Check FindAll: " + String.valueOf(realm.where(DbRealm.class).findAll().size()));
}
} finally {
if (realm != null) {
realm.close();
}
}
试试看{
realm=realm.getDefaultInstance();
如果(entityList.size()>0){
realm.executeTransaction(r->{
d(日志,“大小实体列表:”+entityList.SIze());
对于(int i=0;i
如果您看到以下内容:
更新由同一PrimaryKey标识的现有RealmObject,如果找不到现有对象,则创建新副本
在您的情况下,PrimaryKey是相同的,因此域将更新数据,而不是创建新数据
因此,我建议您在DbRealm对象中创建一个对象,例如,您可以使用“I”变量,尽管我不建议您这样做,但要尝试并确定这是您可以使用的解决方案