閉じる

Realm Javaと複数モジュール

Realmのクラス(?)を複数プロジェクトから利用できるようにとモジュールにて定義した。
で、当然のようにアプリケーションの方でも使うわけだけど、これがうまくいかない。*1
どうやら、こういう事をやるには一ひねりする必要があるようだ。

モジュール側でこんなクラスを作って
@RealmModule(library = true, allClasses = true)
public class RealmLibraryModule {
}
アプリ側ではコンフィグ設定でこんなコードを。
RealmConfiguration config = new RealmConfiguration.Builder().modules(Realm.getDefaultModule(), new RealmLibraryModule()).build();

このように書いて特定のクラスだけを含めることも。
@RealmModule(library = true, classes = {HOGE.class,FUNI.class})
public class RealmLibraryModule {
}

アプリ内でもスキーマをグループ分けして使うようなことも出来るらしい。
@RealmModule(classes = {HOGE.class,FUNI.class})
public class AppRealmModule1 {
}
@RealmModule(classes = {FOO.class})
public class AppRealmModule2 {
}

詳しくは Realm: リアクティブなモバイルアプリを短期間に#スキーマの共有を。


*1 「io.realm.exceptions.RealmException: class is not part of the schema for this Realm.」とか言われちゃう。

コメントを残す

メールアドレスが公開されることはありません。必須項目には印がついています *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)