データを収集するために加速度計のみを使用して、Android で歩数計アプリケーションを作成しようとしています。私は携帯電話から多くの生データを収集し、歩行から一歩を構成する特定のパターンを見つけ、加速度計にとって一歩がどのように見えるかをモデル化するために 3 つのブール値を作成しました。
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() メソッドでこれらのブール値を実行しましたが、これは 3 つのブール値すべてに同じ加速度値を渡すことを意味するため、プログラムがステップを認識しないことに気付きました。加速値が更新されるように、各ブール値チェックの間に Android を 10ms 待機させるにはどうすればよいですか?
また、生の加速度データを使用して歩数をカウントするためのより正確で効率的な方法があれば、私に知らせてください!