使用 greenDAO 实现接口时出错

Error when implementing interfaces with greenDAO

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

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;
}

当我 运行 创建我的文件时,我在 original_pronoun 和 simple_pronoun 的第一行 addNewCard:

中收到错误

interface expected here public class addOriginalCard implements addNewCard {

我收到这个错误是因为它不是一个界面,但我对如何修复它感到困惑。 implementsInterface 方法说它需要一个字符串,但我已经尝试过这个和数据库名称,但没有任何乐趣。谁能告诉我我需要在这里做什么?

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

original_pronoun.setSuperclass("addNewCard");

请注意,greenDAO 尚不支持另一个实体作为超级 class,如果这是您的意图。

检查greenDAO docs for Inheritance and Interfaces
另见这个问题:Implements vs. Extends. When to use? What's the Difference?