AutoValue和ActiveAndroid

时间:2015-12-22 18:23:14

标签: android activeandroid auto-value

有没有人尝试在同一个类上使用AutoValue和ActiveAndroid(或Ollie)?

现在我正在尝试使用名为ActiveAndroid的库将数据保存到sqlite数据库。通过为每个成员变量添加注释@Column来构建库。问题是在同一个类上使用ActiveAndroid和AutoValue。使用AutoValue,我不想添加成员变量,因为apt会为我创建它们。这给我带来了一个问题,因为我不能将@Column注释添加到成员变量中,因为它还不存在。所以我想知道是否有人遇到过这个问题,如果有解决方法的话。

1 个答案:

答案 0 :(得分:0)

由于您指出的确切原因,这不适用于AutoValue。 ActiveAndroid可以更新其库以使用标准属性setter / getters,但目前@Column注释只能应用于字段,而不能应用于方法。

还有一个问题是你的模型对象必须继承它们的抽象Model类。这不应该引起问题,但是实施起来很麻烦。

你可能希望从好人那里看看SQLDelight为Square。与ActiveAndroid样式的create-sqlite-from-java-objects方法相反,它采用反向的create-java-objects-from-sql。这取决于你是一个好处还是一个缺点,但是它的效果非常好并且可以与AutoValue一起使用。