Pour la dernière semaine, j'utilise Android Studio pour écrire du code qui permet d'atteindre les objectifs suivants:Problèmes d'utilisation en studio Android pour obtenir le temps de Voyage entre deux points
- Attendez que l'utilisateur soit dans un certain la distance du point de cheminement de départ
- une fois au point de passage de début, commencer un minuteur qui enregistre les données GPS et l'heure actuelle
- Arrête la minuterie lorsque le point de passage de fin est traversée
à l'heure actuelle, je les waypoints de début et de fin sont codés en dur mais il semble que je rencontre une erreur que j'ai essayé de tracer avec la fonction pas à pas sur mon IDE mais que je n'arrive pas à trouver. Voici le code que j'utilise:
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;
}
Quand je lance le code, le téléphone, je le tester on l'exécuter, mais il ne répondra pas, ce qui me conduit à croire qu'il est une boucle non satisfaite que je n'ont pas considéré.
Toutes les suggestions seraient utiles, merci d'avance pour des conseils!