2017-08-21 57 views
0

嗨,我有一个Android项目,使用另一个Android项目作为模块。我使用领域离线数据存储。这两个项目都使用领域数据库。当我尝试运行该项目时显示错误。这是创建领域模块的正确方法吗?

class RealmModel is not part of the schema for this Realm 

我用这个link来修复错误

在上面的网址,他们要求创造与@RealmModule注释RealmModule类。这是我的课,

@RealmModule 
public class MessageRealmModule implements RealmModule { 

    @Override 
    public boolean library() { 
     return true; 
    } 

    @Override 
    public boolean allClasses() { 
     return false; 
    } 

    @Override 
    public Class<?>[] classes() { 
     return new Class<?>[0]; 
    } 

    @Override 
    public Class<? extends Annotation> annotationType() { 
     return null; 
    } 
} 

后此行得到这个错误。

java.lang.IllegalArgumentException:com.anubavam.message.MessageRealmModule不是RealmModule。将@RealmModule添加到类定义中。

回答

1

不,你需要做的是在注释参数,像这样:

@RealmModule(library = true, classes = { MyModelClass.class }) 
public class MessageRealmModule { 
} 

又见https://realm.io/docs/java/latest/#schemas

+0

其工作的基督徒。谢谢 –

+0

另外我删除了库=真,现在也工作。你能告诉我为什么它必须添加“library = true”。 –

+0

只有在图书馆项目中使用Realm时才需要。这是因为库生成的代码与主应用程序项目没有冲突。 –

相关问题