如何使用我的Android应用程序的初始数据创建Realm数据库?

时间:2016-02-09 23:18:12

标签: android realm

我正在尝试使用Realm为我的Android应用程序创建一个数据库。我需要安装应用程序时预先填充的数据。当数据库的版本为0(最初默认为0)时,将Realm Migration设置为RealmConfiguration的一部分。如何在第一次设置应用程序时添加数据?

3 个答案:

答案 0 :(得分:9)

Realm Java 0.89引入了一种方法,该方法允许指定在首次创建Realm数据库时要运行的事务。此方法RealmConfiguration.Builder.initialData(Realm.Transaction transaction)在设置RealmConfiguration Builder时被调用。

例如

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

答案 1 :(得分:0)

我现在正在做的工作是检查这是否是我的应用程序第一次安装并创建一个新对象。

if (Preferences.freshInstall(getApplicationContext())) {
        Realm realm = Realm.getDefaultInstance();
        realm.beginTransaction();
        Category inbox = new Category("Inbox", "#445566");
        realm.copyToRealm(inbox);
        realm.commitTransaction();
        Preferences.notNew(getApplicationContext());
    }

使用Realm Migrations

应该有更好的方法

答案 2 :(得分:0)

初始数据事务设置,如Realm Java 中的@Benjamin所示!我只希望它也存在于Realm Cocoa中。

我在Github跟踪器here, #3877中为此创建了一个问题。