首页 > 解决方案 > 嵌入列表房间

问题描述

我有模特课

@Entity
@TypeConverters({ConverterList.class, ConverterListObject.CardsOBJ.class,
        ConverterListObject.LoansOBJ.class, ConverterListObject.CountriesOBJ.class,
        ConverterListObject.Cards_creditOBJ.class, ConverterListObject.CreditsOBJ.class,
        ConverterListObject.Cards_installmentsOBJ.class, ConverterListObject.Cards_debitOBJ.class,
        })
public class DB
{
    @PrimaryKey(autoGenerate = true)
    private long id;

    private List<String> news;

    private List<Cards> cards;

    @Embedded(prefix = "ru")
    private Ru ru;

    private List<String> documents;

    private List<Loans> loans;
...

示例转换

public class ConverterListObject {

    public static class CardsOBJ {
        @TypeConverter
        public static List<Cards> stringToCards(String json) {
            Gson gson = new Gson();
            Type type = new TypeToken<List<Cards>>() {
            }.getType();
            List<Cards> measurements = gson.fromJson(json, type);
            return measurements;
        }

        @TypeConverter
        public static String CardsToString(List<Cards> list) {
            Gson gson = new Gson();
            Type type = new TypeToken<List<Cards>>() {
            }.getType();
            String json = gson.toJson(list, type);
            return json;
        }
    }

DB.class 有构造函数

 public DB() {

    }

    public DB(long id, List<String> news, List<Cards> cards, Ru ru, List<String> documents, ...) {
        this.id = id;
        this.news = news;
        this.cards = cards;
        this.ru = ru;
        this.documents = documents;
        this.loans = loans;
        this.countries = countries;
...

但代码未编译、执行错误 实体和 POJO 必须具有可用的公共构造函数。您可以有一个空的构造函数或参数与字段匹配的构造函数(按名称和类型)。- java.util.List

标签: javaandroidandroid-room

解决方案


推荐阅读