java - Android房间,实体内的列表?

标签 java android android-sqlite android-room

我有以下实体:

public class SubItem
{
    //....code
    Location loc;
}
@Entity(tableName = "Item_table")
public class Item
{
    @PrimaryKey(autoGenerate = true)
    public long id;
    public String Name;
    //...code
    List<SubItem> subItems;
}

该应用程序由一个仅显示项目名称的 RecyclerView 组成,当一个项目被按下时,它应该在不同的 Activity 中显示子项目,所以我只需要加载每个项目的所有信息,除了它的子项目,但同时我可能需要能够根据它们的子项目属性(例如“位置”)查询项目,鉴于给定的代码不起作用,正确的方法是什么?
我认为 this回答为什么代码不起作用,但我不理解建议的解决方案?

最佳答案

您需要创建两个表Item_TableSubItem_Table并使用 ForeignKey 设置它们之间的关系。
看这个例子:
https://android.jlelse.eu/android-architecture-components-room-relationships-bf473510c14a

关于java - Android房间,实体内的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53016884/

相关文章:

android - Sqlite列继续将列名和数据类型组合为最终列名。

java - 将gson创建的对象存储在greenDao中

java - 如何发送带有大附件的电子邮件? (内存不足错误: java heap space)

java - 用java编写测试平均成绩的方法

android - 复选框选择时弹出

Android:使用 TextWatcher 删除 EditText 中的字符仍会在建议中显示字符

java - 通过命令行使用 TestNG xml 运行已编译的 Java Selenium 测试(带有依赖项)

java - 如何从 bootRun 传递 JVM 选项

java - 屏幕密度相关产品口味的源代码的正确方法

java - 从数据库加载详细信息时出现游标错误