当前位置: 首页 > 知识库问答 >
问题:

Android房间数据库。如何将我的模型类添加到Room数据库中

李联
2023-03-14
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...

}
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

}

如果有人告诉我我需要做什么,或者至少向什么方向前进,我将非常感激

共有1个答案

皇甫智明
2023-03-14

您可以通过在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
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);
    }

}
 类似资料:
  • 我有一个现有的Android项目,在其中我创建了一个新的(offlineservicelibrary)(文件/new/new module/Android library)。在这个库中,我想创建一个房间数据库。 我遵循https://developer.android.com/training/data-storage/room并为我的数据库创建了Entity(OfflineData)和DAO(O

  • 错误:查询有问题:[SQLITE_ERROR]SQL错误或缺少数据库(没有这样的表:任务) 显示了这个错误,我怎么可能修复它? 我正在学习这个教程

  • 我尝试在Android房间中附加数据库,如下所示:如何从Android房间中的多个数据库中进行选择(如何附加数据库),但在构建项目时出现错误:错误:查询有问题:[SQLITE\u错误]SQL错误或缺少数据库(没有这样的表:database.table)错误 当我添加@SkipQuery验证时,错误发生了变化:错误:不确定如何将游标转换为此方法的返回类型。 当我从查询中删除“myDatabase.”

  • 创建新模型时,将自动创建一个数据库或模式(名为 Default),它是默认的数据库或模式。所有新添加的对象(表和视图)都属于默认数据库或模式。 你可以在浏览器的模型选项卡中查看以树结构表示的所有数据库或模式及其对象。 在浏览器的模型选项卡中数据库或模式的弹出式菜单选项包括: 选项 描述 新建数据库 / 新建模式 创建一个数据库或模式。 删除数据库 / 删除模式 从模型中删除已选择的数据库或模式及其

  • 创建新模型时,将自动创建一个数据库或模式(名为 Default),它是默认的数据库或模式。所有新添加的对象(表和视图)都属于默认数据库或模式。 你可以在浏览器的模型选项卡中查看以树结构表示的所有数据库或模式及其对象。 在浏览器的模型选项卡中数据库或模式的弹出式菜单选项包括: 选项 描述 新建数据库 / 新建模式 创建一个数据库或模式。 删除数据库 / 删除模式 从模型中删除已选择的数据库或模式及其

  • 问题内容: 首次启动应用程序后,我需要向SQLite数据库添加初始值。我该怎么办? 问题答案: 在DBAdapter.java类文件中,您可以执行此操作。 喜欢这种类型。