我正在尝试使用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
方法说它需要一个字符串,但我已经尝试了这个和数据库名称没有喜悦。谁能告诉我在这里需要做什么?
答案 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?