1

我遇到了将模型类添加到 Room 数据库的问题。我读过@Relation、@Embedded,但我不知道如何处理我的模型类。

这里我的模型类来自服务器。我需要存储这些数据

public class ResultsItem {

private String model;
private int id;
private int distanceLon;
private String brand;

//*PROMBLEM HERE*
private List<BidsItem> bids;

//*PROMBLEM HERE*
private User user;

//*PROMBLEM HERE*
private List<FotosItem> fotos;


// getters/setters...

}

FotosItem 类

public class FotosItem {
private String imageUrl;
private int resultItemId;
private int id;

//getters/setters

}

BidsItem 类

public class BidsItem {
private double distanceToAuto;
private boolean isWin;
private int sum;
private String currency;
private int id;

//getters/setters

}

如果有人告诉我需要做什么,或者至少要朝哪个方向前进,我将不胜感激

4

1 回答 1

1

你可以通过在 DAO 类中做一些 tweek 来实现它。对列表使用忽略注释。

public class ResultsItem {

private String model;
private int id;
private int distanceLon;
private String brand;

@Ignore
private List<BidsItem> bids;

private User user;

@Ignore
private List<FotosItem> fotos;


// getters/setters...

}

FotosItem 类

public class FotosItem {
private String imageUrl;
private int resultItemId;
private int id;

//getters/setters

}

BidsItem 类

public class BidsItem {
private double distanceToAuto;
private boolean isWin;
private int sum;
private String currency;
private int id;

//getters/setters

}

现在 DAO 类

@Dao
public abstract class DBAccess {

@Insert
public abstract void insertBids(List<BidsItem> pets);

@Insert
public abstract void insertFotos(List<FotosItem> pets);

@Insert
public abstract void insertResultItem(ResultsItem resultItem);

public void insertResultWithBidsFotos(ResultsItem resultItem) {
        insertBids(resultItem.getBids());
        insertFotos(resultItem.getFotos());
        insertResultItem(resultItem);
    }

}

同样,您可以实施检索。

于 2017-12-13T10:31:30.727 回答