使用 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?
我正在尝试使用 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?