我正在使用GreenDao的Android应用程序,有一些规范,例如,我有一个联系人模型,其中包含一些信息,如姓名,头像,电话号码等...
现在需要从一个电话号码更改为一个多电话号码。
而不是创建两个表(数字表和联系人表),我真的只需要一个信息是数字,所以在我的后端,联系号码存放在 DC2type(保存为字符串的 json 数组)上。
我们有可能使用GreenDao做到这一点吗?
我搜索解决方案或DC2type实现等...什么也没找到
所以我决定自己创造,这就是我所做的:使用绿道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