如何在Android上有效地存储传入的数据流?

时间:2011-06-03 13:43:07

标签: android database stream android-bluetooth data-storage

我正在通过蓝牙将Android设备连接到嵌入式数据采集系统。 DAQ系统将从50Hz到可能的880Hz(可能在将来更多)中采集数据样本,并在收集数据时将其推送到Android设备,或以更快的采样率捆绑。

有很多关于如何管理蓝牙连接的例子,但没有关于如何处理数据的例子。

我需要将数据保存到某种长期存储中,并能够在较长时间内以这些较高的采样率持续执行此操作。

我知道要在UI线程上执行此操作,因此无需为此提供帮助。 Android上的哪种存储介质可以快速响应以跟上传入的数据? SQLite数据库是否足够快?好像很快就会陷入困境。

1 个答案:

答案 0 :(得分:0)

我知道这是一个非常古老的问题,但我认为无论如何我都会提出一个答案。 SQLite应该工作。将数据缓冲到一定长度的字节数组中是个好主意,具体取决于您存储的数据。一旦该数组已满,将其插入SQL数据库并将所有新数据接受到新数组中。一旦它已满,将其存储到数据库;等等。通过这种方式,您可以实现一种双缓冲。数据库修改涉及磁盘I / O;你会使用缓冲区,因为将大量数据写入磁盘比写入大量小块更有效。