我们如何将 SQLite 数据库转换为 Realm 数据库?
有什么方法可以在 Android 上通过Realm使用预先填充的数据库?
目前没有办法自动将 SQLite 数据库转换为 Realm 数据库,您必须手动从 SQLite 数据库中读取所有数据并将它们插入到 Realm 中。
一个替代方案可能是 Realm 浏览器,它可能会使这更容易,但它目前仅适用于 MacOS X。你可以在这里阅读更多:https ://github.com/realm/realm-java/issues/435
第二部分:由于 Realm 数据库只是一个文件,因此您可以轻松地将预填充的 Realm 数据库添加到您的应用程序并使用 Realm.getInstance() 引用它。
这是对问题第二部分的回答。
在你的应用程序的资产文件夹中提供一个预填充的数据库时,类似于官方的 Objective-C 将Realm 与你的应用程序捆绑在一起,如果你有大量数据,它仍然可能是获得预填充 Realm 的最快方法。但从 Realm Java 0.89 开始,现在有一种官方方法可以在 Android 上预填充 Realm 数据库。
现在有一种方法允许在第一次创建 Realm 数据库时指定要运行的事务。initialData(Realm.Transaction transaction)
作为设置 RealmConfiguration Builder 的一部分,您应该调用此方法。
例如
RealmConfiguration config = new RealmConfiguration.Builder(context)
.name("myrealm.realm")
.initialData(new MyInitialDataRealmTransaction()),
.build();