Realm初期化、最新の方法
モバイル用データベースといえばRealmです。SQLiteより断然Realm!と私は思っています。
さて、初期化についてです。最初に一度だけ実行します。
Realm.init(getApplicationContext()); RealmConfiguration realmConfig = new RealmConfiguration. Builder(). deleteRealmIfMigrationNeeded(). build(); Realm.deleteRealm(realmConfig); Realm.setDefaultConfiguration(realmConfig);
となります。deleteRealm(realmConfig)はもちろん最初だけです。
次から呼び出す際は、
Realm.init(getContext()); RealmConfiguration realmConfig = new RealmConfiguration. Builder(). deleteRealmIfMigrationNeeded(). build(); Realm.setDefaultConfiguration(realmConfig);
deleteRealmIfMigrationNeededは移行処理エラー時にRealmを消すという処理です。
以前の方法
RealmConfiguration realmConfig = new RealmConfiguration. Builder(getApplicationContext()). build(); //error occurs in the new Realm Realm.deleteRealm(realmConfig); Realm.setDefaultConfiguration(realmConfig);
という書き方でよかったのですが、新しいRealmの場合は使えません。
(Builder(Context context)はpublicではなくなっています。)
initでcontextを渡したうえでdeleteRealmIfMigrationNeededを加える方法が現行です。