仅在运行时才知道数据参数时使用SQLite

时间:2017-07-10 20:04:08

标签: android sqlite android-sqlite

我正在编写一款Android应用程序,可以连续从多个蓝牙低功耗外设读取数据,并将数据存储在数据库中。但是,这些传感器的数量各不相同,仅在运行时才知道。我应该如何格式化我的数据库以适应这个?是否可以在运行时创建一个包含多个列的表,或者我应该将每个传感器数据数组表示为表中的一行,只是在更多数据进入时更新行?也许是另一种策略?

1 个答案:

答案 0 :(得分:2)

  

是否可以创建一个在运行时已知多列的表

是的,虽然这可能很难处理。

  

我应该将每个传感器数据数组表示为表中的一行,只是在更多数据进入时更新行?

这似乎与你的第一个想法相同,所以我猜我只是不理解它。

  

也许是另一种策略?

拥有一个readings表,其中包含BLE设备的标识符和读数。为每个设备/读取对插入新行。

如果您需要将一组读数视为一个整体:

  • 有一个readings_set表,包含所有读数所需的数据(例如,时间戳)
  • readings的外键关系回到readings_set,这样您就可以找到特定集的所有单个读数