首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用steps和distance TYPE_STEP_COUNTER计算速度

问如何使用steps和distance TYPE_STEP_COUNTER计算速度
EN

Stack Overflow用户
提问于 2018-07-30 20:09:20
回答 1查看 490关注 0票数 0

我需要计算速度与步数和距离覆盖的信息!有没有人可以指导我怎么做,我认为是使用公式S = VT,但在这种情况下,我需要每一步的时间,以便计算每一步的velocity,..I已经查看了堆栈溢出,但没有解决问题。谢谢。

在这段代码中,我用TYPE_COUNTER_STEP计算步数,用人的身高计算距离,乘以0.45,然后再乘以步数

public void registerForSensorEvents() { SensorManager sManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);

代码语言:javascript
复制
// 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);

}

EN

回答 1

Stack Overflow用户

发布于 2018-07-30 20:33:03

你应该在第一步中取一个初始戳,在第二步中取“现在”和初始戳之间的差值,然后你就有了时间/步骤,将初始戳重置为“现在”,并在下面的步骤中执行相同的操作。

同样,你也可以简单地用一个计时器来计算X秒内的步数(所以距离),而不是用时间/步数,这取决于你真正需要做什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51593664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档