2014-10-31 15 views
-2

我必須編寫一個android應用程序,它不斷監視加速度計並將樣本保存在文件中。我知道如何獲得加速度值,以及如何在不停止採樣的情況下將每個樣本寫入文件中,但我怎麼做才能減少磁盤訪問次數,而不停止採樣?我需要一些想法,因爲我不知道從哪裏開始。Android如何將加速度保存到文件

謝謝

+0

我想你的問題的答案有點涵蓋es多線程,你應該閱讀'AsynTask's,但是現在我認爲你的問題非常廣泛。請儘量縮小範圍並更清楚地描述一下。但我可能是錯的 – avalancha 2014-10-31 11:08:56

回答

1

你爲什麼要擔心接盤?我們正在談論Android,因此您的磁盤基於閃存,並且無論如何都是系統優化的磁盤訪問。 但是,如果你想捕獲你的數據並提供給它,即一個活動,你的文件只能作爲一個永久存儲,那麼我建議你:
- 在服務中捕獲你的數據
- 緩衝你的數據名單
- 使用被安排定期的異步任務寫入到磁盤
- 它寫入磁盤時,該服務停止,以確保你不丟失數據

您可以共享該數據直接從您的活動訪問服務

0

你可以把SensorListenerIntentService這將保證你會聆聽到一個單獨的線程傳感器事件。

當接收到onSensorChanged事件時,可以使用ResultReceiver將結果返回給你的活動顯示/記錄/緩存等