如何在android中存储具有可变数量属性的数据

时间:2014-03-06 17:40:27

标签: android database architecture attributes

我正在申请收集用于研究目的的健康日志。我想要一些建筑设计建议。

我的应用要求:

  1. 会有各种各样的形式,有很多领域。
  2. 此数据需要存储在本地(下一阶段是将其存储在服务器上)
  3. 我们也可以在用户群增加时使用新表单
  4. 用户还必须能够更新以前输入的日志
  5. 问题

    For eg : 
    Form 1 : (Name  , Age, Sex ) 
    Form 2 : (Name  , Age, college, height )
    The actual form has many fields related to health information
    

    由于我从用户收到的数据会有如上所述的不同字段,因此如何将多个表单的数据存储到数据库中。此外,我想添加功能,以便为应用程序添加新表单,从而为任何形式创建数据库表都不是一个好主意(在我看来)。我想将数据作为JSON字符串存储到具有关联表单ID的数据库中。

1 个答案:

答案 0 :(得分:1)

选项1.将每个字段作为自己的列存储在数据库中,在数据库中查询相应字段以重新创建各种表单。

注意 - 更改字段值会更改所有表单的值,除非您指定不同的列名以保存不同表单的数据。

有关创建SQlite数据库的信息,请参阅tutorial以开始使用。

选项2.序列化散列映射并将映射存储为数据库中的blob。无需更改数据库即可轻松添加新字段。缺点:无法查询个人特征(年龄,性别等)。当您检索某人的信息时,您将检索所有信息,并选择您需要的信息。 (更简单,但效率更低/更稳健)。