2011-06-03 81 views
1

我正在通過藍牙將Android設備連接到嵌入式數據採集系統。 DAQ系統將採集數據樣本從50Hz提高到潛在的880Hz(未來可能會更多),並將數據採集到數據或以更快的採樣速率捆綁到Android設備。如何在Android上高效地存儲傳入的數據流?

有很多關於如何管理藍牙連接的例子,但不是關於如何處理數據。

我需要將數據保存到某種長期存儲中,並且能夠在較高的採樣率下連續執行此操作一段時間。

我知道這樣做的UI線程,所以沒有必要豎琴。 Android上的什麼存儲介質可以快速響應以跟上這些傳入數據? SQLite數據庫會足夠快嗎?似乎它會相當快地陷入停滯。

回答

0

我知道這是一個非常古老的問題,但我認爲我會拋出一個答案無論如何。 SQLite應該可以工作。根據您正在存儲的數據,將數據緩衝到一定長度的字節數組中是一個好主意。一旦該數組已滿,請將其插入SQL數據庫並將所有新數據接受到新數組中。一旦完整,將其存儲到數據庫中;並且像那樣。通過這種方式,你可以實現一種雙緩衝。數據庫修改涉及磁盤I/O;你會使用緩衝區,因爲寫一大塊數據到磁盤比寫很多小塊更有效。

相關問題