我正在尝试使用Android仅使用加速度计来收集数据的计步器应用程序。我从电话中收集了大量原始数据,并发现某些模式构成了我步态的一步,并创建了3个布尔模型来模拟加速度计的一个步骤。如何让android应用程序等待?
public boolean beforeStep(float y)
{
if(y > 1.5 && y < 3){
return true;
}
else
{
return false;
}
}
public boolean duringStep(float y)
{
if(y > 3 && y < 5){
return true;
}
else
{
return false;
}
}
public boolean afterStep(float y)
{
if(y > 1.5 && y < 3){
return true;
}
else
{
return false;
}
}
if(beforeStep(accel)){
if(duringStep(accel)){
if(afterStep(accel)){
stepCount++;
}
}
}
起初,我在onSensorChanged()方法已运行这些布尔值,但我意识到,这意味着它将在相同的加速度值传递给所有三个布尔值,所以该方案将永远不会承认的一个步骤。我该如何让Android在每个布尔检查之间等待10ms,以便更新加速度值?另外,如果有更准确/有效的方法去计算使用原始加速度数据的步骤,请让我知道!
哇,只是试了一下,它工作得很好!当我拿到15时,计算了14个步骤。只需要稍微调整一下我的阈值,谢谢你的帮助! – user1781027 2013-02-16 22:52:15