我现在在我的机器人中使用了Realm
新的RealmConfiguration.Builder(this).build();
新的RealmConfiguration.Builder(this).build();
我稍后会阅读有关添加架构和迁移的可能性.
所以在我的应用程序的新版本中,我想添加迁移功能.
所以我将上面的行更改为:
new RealmConfiguration.Builder(this) .schemaVersion(0) .migration(new Migration()) .build();
但现在我得到了错误
IllegalArgumentException: Configurations cannot be different if used to open the same file.
解决方法
我认为您的问题是您多次创建RealmConfiguration.这本身不应该是一个问题(尽管效率很低),但问题出现在您的Migration类中.在内部我们比较配置对象中的所有状态,如果你没有在Migration类中重写equals和hashCode,你有一个新的Migration().equals(new Migration())== false的情况,这会给你错误正在看到.
public class Migration implements RealmMigration { // Migration logic... @Override public int hashCode() { return 37; } @Override public boolean equals(Object o) { return (o instanceof Migration); } }
原文地址:https://www.jb51.cc/android/313881.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。