我需要计算速度与步数和距离覆盖的信息!有没有人可以指导我怎么做,我认为是使用公式S = VT,但在这种情况下,我需要每一步的时间,以便计算每一步的velocity,..I已经查看了堆栈溢出,但没有解决问题。谢谢。
在这段代码中,我用TYPE_COUNTER_STEP计算步数,用人的身高计算距离,乘以0.45,然后再乘以步数
public void registerForSensorEvents() { SensorManager sManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
// Step Counter
sManager.registerListener(new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
float steps = event.values[0];
arrayList.add((int)steps);
getCurrentStepValue = (int) steps ;
stepValue.setText(getCurrentStepValue - arrayList.get(0) + "");
double distaneCovered = step_length * (getCurrentStepValue - arrayList.get(0));
distanceValue.setText("" + distaneCovered);
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
}, sManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER),
SensorManager.SENSOR_DELAY_NORMAL);}
发布于 2018-07-30 20:33:03
你应该在第一步中取一个初始戳,在第二步中取“现在”和初始戳之间的差值,然后你就有了时间/步骤,将初始戳重置为“现在”,并在下面的步骤中执行相同的操作。
同样,你也可以简单地用一个计时器来计算X秒内的步数(所以距离),而不是用时间/步数,这取决于你真正需要做什么。
https://stackoverflow.com/questions/51593664
复制相似问题