私は、タイマーが起動するまで各センサー typeId と SensorEvent オブジェクトを保持することにより、SensorEvent を保存およびバッチ処理するために使用するスペア配列を持っています。
SparseArray<SensorEvent> sensorEventMap = new SparseArray<SensorEvent>();
public void onSensorChanged(SensorEvent event) {
synchronized (this) {
sensorEventMap.put(event.sensor.getType(), event);
}
}
タイマーが起動する前に SensorEvent が配列で上書きされるという問題があるため、SensorEvent のコピーを作成し、代わりにそのコピーを配列に保存したいと考えています。
SensorEvent のコピーを作成するにはどうすればよいですか?
データ値だけでなく、SensorEvent 全体が必要です。