Android GPS Wolke der Verwirrung!
Ich versuche, das design für meine erste Android-Anwendung mit der Verwendung von GPS. Wie jetzt, ich habe ein drawable-button, der beim anklicken Warnungen eine Toast-Nachricht der Längen-und Breitengrad. Ich habe versucht, verwenden Sie die telnet localhost 5554 und dann geo fix #Anzahl #Anzahl zu füttern, in der Werte, aber keine Darstellung der Ergebnisse nur 0
0
. Ich habe auch versucht, DDMS Möglichkeit der übermittlung der GPS-Koordinaten, und ich bekomme die gleiche Sache.
Meine Frage ist, was genau ist der richtige Weg für die Verwendung der geo-fix und den DDMS Möglichkeit der übermittlung der Koordinaten. Ich habe verwendet Location
, LocationManger
und LocationListener
aber ich bin nicht sicher, welche die richtige Wahl ist.
Code angegeben ist, nur für den Fall, wenn der Fehler vorhanden ist, mit dem code
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button) findViewById(R.id.track);
button.setOnClickListener(this);
LocationManager location =(LocationManager)getSystemService(Context.LOCATION_SERVICE);
Location loc = location.getLastKnownLocation(location.GPS_PROVIDER);
updateWithNewLocation(loc);
}
private final LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
updateWithNewLocation(location);
}
private void updateWithNewLocation(Location l) {
longitude = l.getLongitude();
latitude = l.getLatitude();
provider = l.getProvider();
}
public void onClick(View v) {
Toast.makeText(this, "Your location is " +
longitude + " and " + latitude + " provided by: " +
provider, Toast.LENGTH_SHORT).show();
}
}
- Könnten Sie bitte formatieren Sie Ihren code? Beginnen Sie jede Zeile mit 4 Leerzeichen, und es wird ganz zu einem großen block.
- Was tatsächlich ein problem, kann man beobachten? Hat es nur nicht bekommen, irgendwelche Koordinaten? Hat es wieder dummy-Daten? Hat es eine exception werfen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zwei Dinge
1) Stellen Sie den Längen-und Breitengrad flüchtigen
2) Versuchen Sie, registrieren sich als listener an den GPS-Standort-manager -
Lage.requestLocationUpdates(LocationManager.GPS, 100, 1, locationListener);
Das sollte Sie Rückrufe an Ihre locationListener-Objekt.
Können Sie sich einige Beispiel-Android-GPS-code hier:
http://www.devx.com/wireless/Article/43005
(ACHTUNG! DevX hat eine Registrierung der Landung, da habe ich diesen link!)
kommentieren Sie die Zeile
Location loc = Ort.getLastKnownLocation(location.GPS_PROVIDER);
Und testen Sie die Anwendung durch die Aktualisierung der gps manuell in ddms
wenn es klappt, kommen Sie zurück, um den code setzen Sie dann
Location loc = Ort.getLastKnownLocation("gps");