我有一个启动传感器监听程序的类。当事件被触发时,这个监听器将最新的传感器值写入变量。这个类继续做一些逻辑,并且在某个时候,会检查这个变量并根据这个值继续。等待传感器数据的方法
我的问题是,当读取变量时,不能保证有任何值,因为Android传感器侦听器只在传感器值更改时触发事件(并且不一定在触发事件后立即触发事件)。因此,我需要我的应用程序等待事件触发,以便它有数据处理(最好是超时,以确保它不会无限期地等待)。
我的问题是,实现这种等待的最佳方式是什么?我应该在继续之前有一个处理程序检查每个X毫秒的值吗?我是否应该在侦听器和处理程序之间传递某种消息来告诉它何时写入数据,并且现在可以恢复?还有其他的选择更好吗?
编辑:我应该指出,类逻辑是在UI线程上执行的。
你有链接到你指的文档吗? – Glitch
http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html –
对,谢谢。是否有任何集合类实现了防护块,还是我应该手动实现? – Glitch