Hallo,
ich schreibe momentan paar Android-Apps und bisher haben alle funktioniert.
Nun wollte ich eine App schreiben, die GPS-Daten auslesen soll. Nachdem die App nicht gestartet wurde, habe ich Code-Teile ein und auskommentiert und mir ist aufgefallen, dass die App auf Grund der Methoden getLongitude(); und getLatitude(); nicht funktioniert.
Ich habe leider kein Android Telefon, deshalb benutze ich den AVD-Manager in eclipse. In meinem Virtual Device habe ich den GPS support auch aktiviert.
Mir hat vor paar Tagen jemand gesagt, dass der AVD-Manager Probleme mit GPS hat. Irgendwie kann ich mir das aber nicht vorstellen, da man ja "GPS support" aktivieren kann. Trotzdem ist es auffällig, dass die App abbricht, wenn die zwei oben genannten Methoden aufgerufen werden.
Nun wollte ich nochmal nachfragen, ob der AVD-Manager Probleme mit GPS hat?
Oder muss ich irgendwas am Lap-Top einstellen, dass dieser auch GPS handeln kann?
___________________________
Hier mal der relevante Code-Teil, vielleicht habe ich auch etwas übersehen:
Die Deklarationen kommen direkt am Anfang der Activity-Klasse:
Im public void onCreate(Bundle savedInstanceState) Block:
Im setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) { Block:
Ich glaube, dass ich nichts übersehen habe und das mein Code bezüglich GPS ist.
Die Listener habe ich auch zugefügt und die virtuellen Methoden überschrieben.
___________________________________
Wenn ich folgenden Code im onClick-Block ersetzte:
Und statt dessen es dann so aussieht:
Dann funktioniert die App wieder, deshalb gehe ich davon aus, dass getLongitude(); und getLatitude(); das Problem verursachen. Genau so verhält es sich auch im onLocationChanged Block des LocationListener.
ich schreibe momentan paar Android-Apps und bisher haben alle funktioniert.
Nun wollte ich eine App schreiben, die GPS-Daten auslesen soll. Nachdem die App nicht gestartet wurde, habe ich Code-Teile ein und auskommentiert und mir ist aufgefallen, dass die App auf Grund der Methoden getLongitude(); und getLatitude(); nicht funktioniert.
Ich habe leider kein Android Telefon, deshalb benutze ich den AVD-Manager in eclipse. In meinem Virtual Device habe ich den GPS support auch aktiviert.
Mir hat vor paar Tagen jemand gesagt, dass der AVD-Manager Probleme mit GPS hat. Irgendwie kann ich mir das aber nicht vorstellen, da man ja "GPS support" aktivieren kann. Trotzdem ist es auffällig, dass die App abbricht, wenn die zwei oben genannten Methoden aufgerufen werden.
Nun wollte ich nochmal nachfragen, ob der AVD-Manager Probleme mit GPS hat?
Oder muss ich irgendwas am Lap-Top einstellen, dass dieser auch GPS handeln kann?
___________________________
Hier mal der relevante Code-Teil, vielleicht habe ich auch etwas übersehen:
Die Deklarationen kommen direkt am Anfang der Activity-Klasse:
Java:
LocationManager locationManager;
Location loc;
double longi = 0.0 ;
double lati = 0.0 ;
String longiText, latiText;
//....
//....
TextView lo = null;
TextView la = null;
Im public void onCreate(Bundle savedInstanceState) Block:
Java:
locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
loc = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
//....
//....
locationManager.requestLocationUpdates( LocationManager.GPS_PROVIDER,2000,100, locationListener);
Im setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) { Block:
Java:
loc = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
longi = loc.getLongitude();
lati = loc.getLatitude();
longiText = Double.toString(longi);
latiText = Double.toString(lati);
lo.setText(longiText);
la.setText(latiText);
Ich glaube, dass ich nichts übersehen habe und das mein Code bezüglich GPS ist.
Die Listener habe ich auch zugefügt und die virtuellen Methoden überschrieben.
___________________________________
Wenn ich folgenden Code im onClick-Block ersetzte:
Java:
loc = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
longi = loc.getLongitude();
lati = loc.getLatitude();
Und statt dessen es dann so aussieht:
Java:
//loc = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
//longi = loc.getLongitude();
//lati = loc.getLatitude();
longi = 5.0;
lati = 4.0;
Dann funktioniert die App wieder, deshalb gehe ich davon aus, dass getLongitude(); und getLatitude(); das Problem verursachen. Genau so verhält es sich auch im onLocationChanged Block des LocationListener.