greenDao 上的 DC2type

DC2type on greenDao

我将 GreenDao 用于 Android 应用程序,具有一些规范,例如,我有一个包含姓名、头像、phone 号码等信息的联系人模型...

现在需要从只有一个 phone 号码更改​​为多个 phone 号码。

而不是创建两个 tables(table 用于数字,table 用于联系人),我真的只需要一个信息就是号码,所以在我的后端联系号码存储在 DC2type 上,(一个 json 数组保存为字符串)。

我们有可能使用 GreenDao 做到这一点吗?

我搜索了一个解决方案或一个 DC2 类型的实现等...但没有找到任何东西

所以我决定自己创建,这就是我所做的: 使用 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