2

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

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

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

我知道要在 UI 线程上执行此操作,因此无需为此而烦恼。Android 上的哪种存储介质可以快速响应以跟上这些传入数据?SQLite 数据库是否足够快?似乎它会很快陷入困境。

4

1 回答 1

0

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

于 2013-06-02T22:42:28.587 回答