【发布时间】:2017-08-31 13:22:21
【问题描述】:
我编写了一个应用程序来将传感器数据保存到文件中。目标是保存 100 Hz 的 IMU 数据。 我使用 Asynctask 作为存储部分。一切似乎都很好;但是当我看到文件中的值时,有很多数据被写入了很多次。你有什么想法吗:
@Override
public final void onSensorChanged(SensorEvent event) {
//timestamp = (new Date()).getTime() + (event.timestamp - System.nanoTime()) / 1000000L;
timestamp = new Date().getTime();
// Handle accelerometer reading
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
bufferData[0] = event.values[0];
bufferData[1] = event.values[1];
bufferData[2] = event.values[2];
}
// Handle a gyro reading
else if (event.sensor.getType() == Sensor.TYPE_GYROSCOPE) {
bufferData[3] = event.values[0];
bufferData[4] = event.values[1];
bufferData[5] = event.values[2];
}
save_IMU save_imu = new save_IMU();
save_imu.execute();
}
【问题讨论】:
-
请添加您的异步任务代码。
-
class save_IMU extends AsyncTask
{ protected Void doInBackground(Void... params) { if (MainActivity.is_recording) { // 创建文件夹名称 store_data(); } 返回空值; } protected void onPostExecute(布尔保存) { } }; -
这里是 Asynctask 任务中的 mu 代码,抱歉代码乱了,我不知道如何把它们说清楚。
标签: android android-asynctask android-sensors