如何重写生成的数据库表类中的接口方法



我在我的Android项目中使用GreenDao,我已经成功地生成了我的数据库模式,但我遇到了一个问题。我生成的类需要实现一个与数据库无关的接口。在生成器中,我使用了以下方法:

myEntity.implementsInterface("com.my.app.myinterface");

然后在生成后,类在其头中有这个接口的实现注释,但代码中当然没有Override方法。我试着在生成器项目中放入一个带有接口的包,但方法永远不会自动出现。我可以手动将它们插入吗

// KEEP METHODS - put your custom methods here ... // KEEP METHODS END

部分?

根据GreenDAO文档,您不需要编写任何方法,因为类在每次运行时都会被覆盖(这意味着您所做的每一个更改都将被删除),如果您需要自己的行为,可以使用Keep Sections:

保留分区

每次运行生成器时都会覆盖实体类。为了允许向您的enities添加自定义代码,greenDAO有"保留"部分若要启用它们,请对架构使用enableKeepSectionsByDefault(),或对选定实体使用setHasKeepSections(true)。一旦启用,将在实体中生成三个保留部分:

// KEEP INCLUDES - put your custom includes here
// KEEP INCLUDES END
...
// KEEP FIELDS - put your custom fields here
// KEEP FIELDS END
...
// KEEP METHODS - put your custom methods here
// KEEP METHODS END

现在,您可以将自定义代码放在KEEP[…]和KEEP[!]END之间。不要触碰KEEP的评论在代码生成期间,保留部分中的代码将被保留。备份或提交代码是个好主意,以防出现意外错误。

也可以看看这个相关的问题。

最新更新