Use pre-populated databases with Realm

后端 未结 2 1810
余生分开走
余生分开走 2021-02-15 16:15

How could we convert SQLite database to a Realm database?

Is there any way to use pre-populated databases with Realm on Android?

相关标签:
2条回答
  • 2021-02-15 16:44

    Currently there is no way to automatically convert a SQLite database to a Realm database, you would have to manually read all data from the SQLite database and insert them into Realm.

    An alternative could be the Realm browser that might make this easier, but it is currently available for MacOS X only. You can read more here: https://github.com/realm/realm-java/issues/435

    For the second part: As Realm databases are just a single file so you can easily add a pre-populated realm database to you app and reference it with Realm.getInstance().

    0 讨论(0)
  • 2021-02-15 16:57

    This is an answer to the second part of the question.

    While shipping a prepopulated database in the assets folder of your app, analogous to the official Objective-C to bundle of Realm with your app, is still probably the fastest way to get a prepopulated Realm if you have a lot of data. But as of Realm Java 0.89 there is now an official way to prepopulate a Realm database on Android.

    There is now a method that allows for specifying a transaction to be run when a Realm database is created for the first time. You should call this method, initialData(Realm.Transaction transaction), as part of setting up the RealmConfiguration Builder.

    For example

    RealmConfiguration config = new RealmConfiguration.Builder(context)
      .name("myrealm.realm")
      .initialData(new MyInitialDataRealmTransaction()), 
      .build();
    
    0 讨论(0)
提交回复
热议问题