有没有人尝试在同一个类上使用AutoValue和ActiveAndroid(或Ollie)?
现在我正在尝试使用名为ActiveAndroid的库将数据保存到sqlite数据库。通过为每个成员变量添加注释@Column来构建库。问题是在同一个类上使用ActiveAndroid和AutoValue。使用AutoValue,我不想添加成员变量,因为apt会为我创建它们。这给我带来了一个问题,因为我不能将@Column注释添加到成员变量中,因为它还不存在。所以我想知道是否有人遇到过这个问题,如果有解决方法的话。
答案 0 :(得分:0)
由于您指出的确切原因,这不适用于AutoValue。 ActiveAndroid可以更新其库以使用标准属性setter / getters,但目前@Column
注释只能应用于字段,而不能应用于方法。
还有一个问题是你的模型对象必须继承它们的抽象Model
类。这不应该引起问题,但是实施起来很麻烦。
你可能希望从好人那里看看SQLDelight为Square。与ActiveAndroid样式的create-sqlite-from-java-objects方法相反,它采用反向的create-java-objects-from-sql。这取决于你是一个好处还是一个缺点,但是它的效果非常好并且可以与AutoValue一起使用。