使用greenDAO

时间:2016-06-23 08:11:20

标签: java android greendao implements

我正在尝试使用greenDAO的implementsInterface方法,这里是我的主要生成器类的大部分内容:

private static void addTables(final Schema schema) {
    Entity photo_pronoun = addCard(schema);
    Entity simple_pronoun = addSimpleCard(schema);
    Entity original_pronoun = addOriginalCard(schema);

    //implementsInterface method
    original_pronoun.implementsInterface("addNewCard");
    simple_pronoun.implementsInterface("addNewCard");
}

private static Entity addCard(final Schema schema) {
    Entity card = schema.addEntity("addNewCard");
    card.addIdProperty().primaryKey().autoincrement();
    card.addStringProperty("cardName").notNull();
    card.addStringProperty("cardSpeech");
    card.addByteArrayProperty("cardIcon");

    return card;
}
private static Entity addSimpleCard(final Schema schema) {
    Entity card = schema.addEntity("addSimpleCard");
    card.addIdProperty().primaryKey().autoincrement();
    card.addStringProperty("cardName").notNull();
    card.addStringProperty("cardSpeech");
    card.addByteArrayProperty("cardIcon");
    return card;
}

private static Entity addOriginalCard(final Schema schema) {
    Entity card = schema.addEntity("addOriginalCard");
    card.addIdProperty().primaryKey().autoincrement();
    card.addStringProperty("cardName").notNull();
    card.addStringProperty("cardSpeech");
    card.addByteArrayProperty("cardIcon");
    return card;
}

当我运行此文件来创建我的文件时,我在addNewCard的第一行的original_pronoun和simple_pronoun中收到错误:

  

接口在这里预期   public class addOriginalCard implements addNewCard {

我得到了这个错误,因为它不是一个接口,但我对如何解决它感到困惑。 implementsInterface方法说它需要一个字符串,但我已经尝试了这个和数据库名称没有喜悦。谁能告诉我在这里需要做什么?

1 个答案:

答案 0 :(得分:1)

这不是greenDAO问题:addNewCard是一个类,而不是一个接口。如果您的模型类需要从另一个类继承,则必须使用setSuperclass()方法。例如:

original_pronoun.setSuperclass("addNewCard");

请注意,如果您愿意,greenDAO不支持另一个实体作为超类。

检查greenDAO docs for Inheritance and Interfaces
另请参阅此问题:Implements vs. Extends. When to use? What's the Difference?