使用预先填充的数据库与Realm

时间:2014-10-07 15:59:33

标签: java android realm

我们如何将SQLite数据库转换为Realm数据库?

有没有办法在Android上使用预先填充的数据库Realm

2 个答案:

答案 0 :(得分:10)

目前无法自动将SQLite数据库转换为Realm数据库,您必须手动读取SQLite数据库中的所有数据并将其插入Realm。

替代方案可能是Realm浏览器可能会使这更容易,但它目前仅适用于MacOS X.您可以在此处阅读更多内容:https://github.com/realm/realm-java/issues/435

对于第二部分:由于Realm数据库只是一个文件,因此您可以轻松地将预先填充的领域数据库添加到您的应用程序并使用Realm.getInstance()进行引用。

答案 1 :(得分:5)

这是对问题第二部分的回答。

虽然在应用程序的assets文件夹中运送预先填充的数据库,类似于bundle of Realm with your app的官方Objective-C,但如果您拥有大量数据,仍然可能是获得预先填充的Realm的最快方法。但是从Realm Java 0.89开始,现在有一种正式的方法可以在Android上预填充Realm数据库。

现在有一种方法允许指定在第一次创建Realm数据库时要运行的事务。作为设置RealmConfiguration Builder的一部分,您应该调用此方法initialData(Realm.Transaction transaction)

例如

RealmConfiguration config = new RealmConfiguration.Builder(context)
  .name("myrealm.realm")
  .initialData(new MyInitialDataRealmTransaction()), 
  .build();