将生成的文件暴露给另一个模块中的域

时间:2017-01-06 22:16:45

标签: java android realm code-generation

我实现了一个处理网络和数据库(域)访问的lib。目前我的lib在另一个模块而不是我的示例应用程序。应用程序中的每个模型都需要2个版本,一个领域对象和一个常规POJO。我写了一个注释处理器来从我的带注释的POJO中生成等效的realm类文件。问题是我生成的类不是模式的一部分。

io.realm.exceptions.RealmException: class com.zeyad.usecases.app.presentation.models.AutoMap_UserModel is not part of the schema for this Realm.

我假设因为它在生成的文件目录中。有没有办法将生成的文件暴露给架构?提前谢谢。

1 个答案:

答案 0 :(得分:-1)

您需要在库模块中创建一个模块类,并在应用程序onCreate()中将该模块添加到Realm的配置中,如下所示

import io.realm.annotations.RealmModule;

@RealmModule(library = true, allClasses = true)
public class MessengerModule {
}

这在您的图书馆

Realm.init(this);
RealmConfiguration configuration = new RealmConfiguration.Builder()
        .modules(Realm.getDefaultModule(), new MessengerModule())
        .build();
Realm.setDefaultConfiguration(configuration);

这是你的申请onCreate