我创建了一个使用Realm db存储数据的SDK。参见下面的代码,我如何初始化我的sdk数据库
Realm.init(application);
config = new RealmConfiguration.Builder().name("sdk.db")
.schemaVersion(1)
.deleteRealmIfMigrationNeeded()
.build();
Realm.setDefaultConfiguration(config);
类似于应用程序类中的App。
但是当我运行该应用程序时,出现以下错误
io.realm.exceptions.RealmException:异步事务失败
由以下原因引起:io.realm.exceptions.RealmException:“类com.models.db.FavouriteIdsModel类”不属于该领域的架构。
io.realm.internal.RealmProxyMediator.getMissingProxyClassException(RealmProxyMediator.java:234)上的在io.realm.DefaultRealmModuleMediator.getSimpleClassNameImpl(DefaultRealmModuleMediator.java:82) 在io.realm.internal.RealmProxyMediator.getSimpleClassName(RealmProxyMediator.java:72) 在io.realm.RealmSchema.getTable(RealmSchema.java:177) 在io.realm.Realm.delete(Realm.java:1689) 在com.jiostb.jiogames.databaserealm.FavouriteMethod $ 4.execute(FavouriteMethod.java:79) 在io.realm.Realm $ 1.run(Realm.java:1601) 在io.realm.internal.async.BgPriorityRunnable.run(BgPriorityRunnable.java:34) 在java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:458) 在java.util.concurrent.FutureTask.run(FutureTask.java:266) 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:641) 在java.lang.Thread.run(Thread.java:764)
当我看到数据库文件时,我得到了奇怪的东西
答案 0 :(得分:0)
SDK可能会覆盖默认配置,而不是使用其自己的内部RealmConfiguration。
此外,如果库模块要公开其另一个模块的架构,则必须将@RealmModule
注释与library = true
一起使用,并在配置中指定该注释。