【问题标题】:DC2type on greenDaogreenDao 上的 DC2type
【发布时间】:2018-12-25 13:56:37
【问题描述】:
我正在使用 GreenDao for Android 应用程序,有一些规范,例如,我有一个联系人模型,其中包含一些信息,如姓名、头像、电话号码等......
现在需要将仅一个电话号码更改为一个多电话号码。
我不需要创建两个表(数字表和联系人表),我真的只需要一个信息就是号码,所以在我的后端,联系人号码存储在 DC2type 上,(保存为字符串的 json 数组) .
我们是否有可能使用 GreenDao 做到这一点?
【问题讨论】:
标签:
android
arrays
json
greendao
【解决方案1】:
我搜索解决方案或 DC2type 实现等...但没有找到
所以我决定由我自己创建,这就是我所做的:
使用 GreenDao 3 的 @Convert 注解:
@Property(nameInDb = "phoneNumbers")
@Convert(converter = PhoneNumbersConverter.class, columnType = String.class)
private List<String> phoneNumbers;
static class PhoneNumbersConverter implements PropertyConverter<List<String>, String> {
@Override
public List<String> convertToEntityProperty(String databaseValue) {
List<String> listOfStrings = new Gson().fromJson(databaseValue,List.class);
return listOfStrings;
}
@Override
public String convertToDatabaseValue(List<String> entityProperty) {
String json = new Gson().toJson(entityProperty);
return json;
}
}
长话短说,我创建了一个 json 到数组解析器
感谢我自己帮助我:D