我正在嘗試使用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