Я пытаюсь сделать приложение шагомера с 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 ждать, скажем 10 мс, между каждой логической проверкой, чтобы обновить значение ускорения?
Кроме того, если есть более точный/эффективный способ выполнения шагов подсчета с использованием необработанных данных ускорения, пожалуйста, дайте мне знать!
Вау, просто попробовал это, и он работает очень хорошо! Считал 14 шагов, когда я взял 15. Мне просто нужно немного изменить свои пороговые значения, спасибо за помощь! – user1781027