我在Android应用程序中使用aria-hidden
数据库。我如何设置表架构是非常基本的。
该应用程序涉及与数据收集和导出到具有与某些用户相关的列的Excel工作表相关的内容(如附件所示)。
因此,当然,这些数据将在单个表中。
我想添加一个选项来添加或删除列(添加 Activity n 并删除 Activity m 在运行时)。如果数据将丢失,数据将不重要,应用程序将要求用户首先将数据导出到Excel Sheet ,因为在删除当前表并创建新表的操作中将要删除数据新架构的表格。
然后,我将需要DAO接口的另一种方式来按索引访问每个单元,而又不知道单元的实际位置。
我认为列的数据应存储在单独的表中? 关于如何实现的任何想法? 谢谢。
答案 0 :(得分:1)
您可以将基于您的项目连接的列声明为@Entity。因此,一个UID可以有多个活动,但一个便笺和一个日期。
@Entity
public class Uid {
@PrimaryKey //AutoGenerate if You want
public int uID;
public String notes;
public String date;
}
和活动班级
@Entity(foreignKeys = @ForeignKey(entity = Uid.class,
parentColumns = "uID",
childColumns = "parentID",
onDelete = CASCADE, onUpdate = CASCADE))
public class Activities {
@PrimaryKey(autoGenerate = true)
public int id;
public int parentID;
public int someOtherNumber;
}
现在,如果您删除UID或对其进行更新,则所有活动将遵循该行为。您还可以根据需要添加和删除活动。就像在您的Excel中一样。这样,您可以要求dao将与uID连接的活动返回为“列表”,在列表中您可以通过其索引选择一个值。