我有一個啓動傳感器監聽程序的類。當事件被觸發時,這個監聽器將最新的傳感器值寫入變量。這個類繼續做一些邏輯,並且在某個時候,會檢查這個變量並根據這個值繼續。等待傳感器數據的方法
我的問題是,當讀取變量時,不能保證有任何值,因爲Android傳感器偵聽器只在傳感器值更改時觸發事件(並且不一定在觸發事件後立即觸發事件)。因此,我需要我的應用程序等待事件觸發,以便它有數據處理(最好是超時,以確保它不會無限期地等待)。
我的問題是,實現這種等待的最佳方式是什麼?我應該在繼續之前有一個處理程序檢查每個X毫秒的值嗎?我是否應該在偵聽器和處理程序之間傳遞某種消息來告訴它何時寫入數據,並且現在可以恢復?還有其他的選擇更好嗎?
編輯:我應該指出,類邏輯是在UI線程上執行的。
你有鏈接到你指的文檔嗎? – Glitch
http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html –
對,謝謝。是否有任何集合類實現了防護塊,還是我應該手動實現? – Glitch