1
我使用领域,所有看起来不错,直到我尝试在我的数据库中添加初始数据。在Realm中添加初始数据Android
我跟着的例子在这个answer,所以在我的课,从Application
继承,我有以下几点:
public class MainApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Realm.init(this);
final Map<String, String> map = new LinkedHashMap();
map.put("Key1", "value1");
map.put("Key2", "value2");
RealmConfiguration config = new RealmConfiguration.Builder().initialData(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
int i = 1;
for (Map.Entry entry : map.entrySet()) {
realm.beginTransaction();
Category c = realm.createObject(Category.class, i++);
c.setName((String) entry.getKey());
c.setDescription("Category #" + entry.getValue());
realm.commitTransaction();
}
realm.close();
}
}).deleteRealmIfMigrationNeeded().name("realm.db").build();
Realm.setDefaultConfiguration(config);
}
}
而且我认为这个配置应该工作,但是我发现了以下错误:
java.lang.IllegalStateException: The Realm is already in a write transaction in /path/...
有什么,我失踪了吗?
在此先感谢。
非常感谢,它的工作原理:) – developer033