我正在通过蓝牙将一个安卓设备连接到一个嵌入式数据采集系统。DAQ系统将从50 is到880 is(未来可能更多)采集数据样本,并在数据收集时或以更快的采样率捆绑在一起,将其推送到android设备。
有关如何管理蓝牙连接的示例有很多,但关于如何处理数据的示例并不多。
我需要将数据持久化到某种长期存储中,并且能够以较高的采样率在较长的一段时间内持续执行此操作。
我知道要在UI线程之外做这件事,所以不需要再重复了。Android上的哪种存储介质可以足够快地响应这些传入的数据?SQLite数据库是否足够快?看起来它很快就会陷入困境。
发布于 2013-06-03 06:42:29
我知道这是一个非常古老的问题,但我想我还是会抛出一个答案。SQLite应该可以工作。将数据缓冲到一定长度的字节数组中将是一个好主意,具体取决于您要存储的数据。阵列装满后,将其插入到SQL数据库中,并将所有新数据接受到新阵列中。一旦该文件已满,就将其存储到数据库中;然后继续执行该操作。通过这种方式,您可以实现一种双缓冲。数据库修改涉及磁盘I/O;您将使用缓冲区,因为将大量数据写入磁盘比写入大量较小的数据块更有效。
https://stackoverflow.com/questions/6227850
复制相似问题