За последнюю неделю, я использую Android Studio, чтобы написать код, который обеспечивает достижение следующих целей:Проблемы при использовании Android Studio, чтобы получить время поездки между двумя точками
- Ожидать пользователю быть в пределах определенного расстояние от начальной точки маршрута
- Однажды при запуске Точке начать таймер, который записывает данные GPS и текущее время
- Остановки таймер, когда конец путевого пересечена
на данный момент у меня есть начальная и конечная путевые точки жестко закодированы, но я, кажется, сталкиваюсь с ошибкой, которую я пытаюсь проследить с помощью сквозной функции на моей IDE, но не могу ее найти. Ниже приведен код, который я использую:
void StartTimer (View view){
//Location l = null;
boolean hasLoc = false; //are we at the start?
float speed = 0;
float topSpeed = 0;
while(hasLoc == false && cancel == false){
float d = l.distanceTo(t);
if(d < 2.0)
hasLoc = true;
//if(!l.equals(lm.getLastKnownLocation("")))
String msg = "Latitude: " + l.getLatitude() + "\nLongitude: "+ l.getLongitude();
Toast.makeText(getBaseContext(), msg, Toast.LENGTH_LONG).show();
}
hasLoc = false;
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
// Actions to do after 10 seconds
buzzer();
}
}, 10000);
while(l.distanceTo(tf) > 2.0 && cancel == false){
float cSpeed = l.getSpeed();
if(cSpeed>topSpeed)
topSpeed = cSpeed;
String msg = "Current Speed: "+cSpeed+"Top Speed: "+topSpeed;
Toast.makeText(getBaseContext(), msg, Toast.LENGTH_LONG).show();
}
cancel = false;
}
Когда я запускаю код, телефон я проверить это один будет работать, но она не будет реагировать, что заставляет меня полагать, что существует неудовлетворенный цикл, который я не рассмотрели.
Любые предложения были бы полезны, заблаговременно за консультацию!