在自定义注释处理器中使用Android类

时间:2017-11-22 14:12:50

标签: java android annotations

关于我需要自定义注释的一些上下文,以防我的方法对于这种情况是错误的。

我有几个类(Missions)存储在从所述DB构建的本地SQLiteDB中。保存每个任务的逻辑是使用ContentValues并将每个字段添加到所述ContentValues(以及相反的逻辑以从DB重建它们)。

这会带来一个问题,因为每当我需要向超级任务类添加/删除一个新字段时,我必须执行以下操作,为每个子任务,以包含新字段:

  • 更改表格声明。
  • 更改saveToDB()方法。
  • 更改getFromDB()方法。

这可能看起来不多,但我的模型实际上变得非常大,有几个SubMissions,每当我需要稍微改变一些东西时会导致浪费大量的时间。

所以我想我可以创建一个自定义Annotation和处理器来生成表声明以及saveToDB / getFromDB方法。

该方法的问题在于,如上所述,我将对象保存在ContentValues中,这是一个Android对象。而且,由于自定义处理器(根据this link)创建为Java库,因此无法访问ContentValues。

我怎么解决这个问题?

(顺便说一下,我还考虑使用Reflection来创建通用addMissionToDB()getMissionFromDB()createMissionTable()。由于性能原因我不想这样做,除非尽管如此,这是明确的最佳方式。

0 个答案:

没有答案