1
我正在寫一個Android應用程序,這將包括可以使用Android的內置SQLite存儲進行併發數據存儲嗎?
- 後臺服務1,其在有規律的間隔讀取傳感器的值(例如,每五分鐘的程序在測量期間值30秒讀取傳感器值,被讀出每秒)兩次,
- 背景服務2,其分析所述傳感器值和由它們計算一些度量,
- 後臺服務3,其在3-7天運行一次,並從數據庫中刪除舊的數據(傳感器值和度量)和
- GUI活動,其中sho如果用戶打開應用程序並按下某個按鈕,則顯示一些傳感器值和/或指標。
將會有2個表格 - SensorData
和Metrics
。後臺服務1將寫入SensorData
。後臺服務2將從SensorData
中讀取並寫入Metrics
。後臺服務3將從兩個表中刪除行。 GUI活動將從兩個表中讀取。
我在考慮如何爲傳感器值和指標實現線程安全存儲。
一個明顯的解決方案是使用內置的SQLite數據庫。
我有以下問題:
- 它是安全的在此設置使用?
- Android的SQLite會處理每秒兩次寫入兩個數值(
long
和double
)嗎? - 它支持併發訪問(當GUI活動在
SensorData
上發出查詢並且後臺服務1試圖同時寫入同一個表時會發生什麼?)?