Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Minimalbeispiel GPS für Emulator

Das Thema "Minimalbeispiel GPS für Emulator" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 20.09.2011, 23:24   #1 (permalink)
Neuer Benutzer

Registriert seit: 06.03.2011
Beiträge: 21
Abgegebene Danke: 15
Erhielt 0 Danke für 0 Beiträge
Standard Minimalbeispiel GPS für Emulator

Hallo Forum,

ich habe nun einige Quellen im Internet zum Thema GPS gesichtet und mich hier durch die 5 Seiten GPS Ergebnisse im Forum geklickt. Leider habe ich immer noch das Problem, dass ich kein funktionierendes Minimalbeispiel zum GPS testen mit dem Emulator gefunden habe.

Ich habe begonnen mit dem Tutorial von Lars Vogel, das fand ich gut geschrieben und versucht es 1:1 zum Laufen zu bekommen. Funktionierte nicht, die Felder im DDMS in Eclipse waren ausgegraut, ich konnte keine Positionen eintragen. Auch ein Übermittlung per Telnet über den Port 5554 gab zwar immer "OK" zurück, änderte allerdings nichts. Allerdings hatte ich bei anderen Versuchen schon die Eingabemöglichkeit, aber auch hier zeigte sich keine Änderung.

Ich glaube am besten trifft mein Problem auch dieser Forumsartikel, bei dem es allerdings keine Rückmeldungen gab.

das Manifest enthält bei allen Beispielen immer
INTERNET
ACCESS_FINE_LOCATION
ACCESS_COARSE_LOCATION

Ich suche nun ein "DAU-Beispiel", an dem ich möglichst schnell sehen kann, wo der Fehler liegt. Ich möchte auch nicht auf einem realen Gerät testen, sondern vorerst nur auf dem Emulator. Es scheint irgendwie, dass dort keine Daten ankommen. Am besten wäre es, wenn jemand ein Beispiel bei sich laufen hat, was korrekt ist und welches auf Werte über Eclipse oder Telnet reagiert.

Im voraus vielen Dank
schneseb ist offline   Mit Zitat antworten
Alt 21.09.2011, 08:10   #2 (permalink)
Fortgeschrittenes Mitglied

Modell: HTC Sensation

Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
Standard AW: Minimalbeispiel GPS für Emulator

das hier läuft bei mir (emu und handy):

Code:
package test.de;

import java.io.IOException;
import java.util.List;

import android.app.Activity;
import android.content.Context;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.Toast;

public class GPSTest extends Activity {
    
    private LocationManager locManager = null;
    private LocationListener locListener = null;
    
    
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        locManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
        
        locListener = new LocationListener() {
            @Override
            public void onStatusChanged(String provider, int status, Bundle extras) {
                Toast.makeText( getApplicationContext(), "Status changed: " + provider + "[" + status + "]", Toast.LENGTH_SHORT ).show();
            }
            
            @Override
            public void onProviderEnabled(String provider) {
                Toast.makeText( getApplicationContext(), "Gps Disabled: " + provider, Toast.LENGTH_SHORT ).show();
            }
            
            @Override
            public void onProviderDisabled(String provider) {
                Toast.makeText( getApplicationContext(), "Gps Enabled: " + provider, Toast.LENGTH_SHORT ).show();
            }
            
            @Override
            public void onLocationChanged(Location location) {
                Double latitude = location.getLatitude();
                Double longitude = location.getLongitude();
                String Text = "Current location: " + "Lat=" + latitude.toString() + " Long=" + longitude.toString();
                Toast.makeText( getApplicationContext(), Text, Toast.LENGTH_SHORT).show();
            }
        };
        
        locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1, 1, locListener);

        /*
        for (String provider: locManager.getAllProviders()) {
            System.out.println(provider);
            Location loc = locManager.getLastKnownLocation(provider);
            if (loc != null) {
                Double latitude = loc.getLatitude();
                Double longitude = loc.getLongitude();
                String Text = "Current location for provider " + provider + ": " + "Lat=" + latitude.toString() + " Long=" + longitude.toString();
                Toast.makeText( getApplicationContext(), Text, Toast.LENGTH_SHORT).show();                
            }
        }
        */
        
        Location loc = locManager.getLastKnownLocation("gps");
        if (loc != null) {
            Double latitude = loc.getLatitude();
            Double longitude = loc.getLongitude();
            Geocoder geo = new Geocoder(this);
            if (geo != null) {
                List<Address> addresses;
                try {
                    addresses = geo.getFromLocation(latitude, longitude, 1);
                    if (addresses.size() > 0) {
                        /*
                        System.out.println(addresses.get(0).getLocality());
                        String text = "Current location for provider " + "gps" + ": " + addresses.get(0).getLocality();
                        Toast.makeText( getApplicationContext(), text, Toast.LENGTH_SHORT).show();
                        Toast.makeText( getApplicationContext(), addresses.get(0).getSubLocality(), Toast.LENGTH_SHORT).show();
                        Toast.makeText( getApplicationContext(), addresses.get(0).getThoroughfare(), Toast.LENGTH_SHORT).show();
                        Toast.makeText( getApplicationContext(), addresses.get(0).getSubThoroughfare(), Toast.LENGTH_SHORT).show();
                        Toast.makeText( getApplicationContext(), addresses.get(0).getPostalCode(), Toast.LENGTH_SHORT).show();
                        Toast.makeText( getApplicationContext(), addresses.get(0).getPhone(), Toast.LENGTH_SHORT).show();
                        */
                        
                        /*
                        Toast.makeText( getApplicationContext(), addresses.get(0).getMaxAddressLineIndex(), Toast.LENGTH_SHORT).show();
                        if (addresses.get(0).getMaxAddressLineIndex() > 0) {
                            Toast.makeText( getApplicationContext(), addresses.get(0).getAddressLine(0), Toast.LENGTH_SHORT).show();
                        }
                        */
                        
                        String text = addresses.get(0).getThoroughfare() + "\n" +
                                      addresses.get(0).getPostalCode() + " " + addresses.get(0).getLocality();
                        Toast.makeText( getApplicationContext(), text, Toast.LENGTH_LONG).show();
                    }
                } 
                catch (IOException e) {
                    e.printStackTrace();
                }

            }
            /*
            else {
                String Text = "Current location for provider " + "gps" + ": " + "Lat=" + latitude.toString() + " Long=" + longitude.toString();
                Toast.makeText( getApplicationContext(), Text, Toast.LENGTH_SHORT).show();
            }
            */
        }
        

    }
    
    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (locManager != null) {
            locManager.removeUpdates(locListener);
            locManager = null;
        }
    }

}
Tom299 ist offline   Mit Zitat antworten
Folgender Benutzer bedankt sich bei Tom299 für diesen Beitrag:
schneseb (21.09.2011)
Alt 21.09.2011, 16:47   #3 (permalink)
Neuer Benutzer

Registriert seit: 06.03.2011
Beiträge: 21
Abgegebene Danke: 15
Erhielt 0 Danke für 0 Beiträge
Standard AW: Minimalbeispiel GPS für Emulator

Hallo Tom,

danke für das Beispiel - ich werde es bis zum Wochenende getestet haben und dann Rückmeldung geben können.
schneseb ist offline   Mit Zitat antworten
Alt 23.09.2011, 22:07   #4 (permalink)
Neuer Benutzer

Registriert seit: 06.03.2011
Beiträge: 21
Abgegebene Danke: 15
Erhielt 0 Danke für 0 Beiträge
Standard AW: Minimalbeispiel GPS für Emulator

So, nun möchte ich noch eine Rückmeldung geben. Ich habe dein Programm bei mir laufen lassen und es tut sich leider nichts. Wenn ich es ausführe startet korrekt der Emulator. In dem DDMS Perspektive kann ich leider keine Koordinaten eingeben. Per Telnet kann ich mich zum Emulator verbinden und der wird mir auch unter Devices (DDMS) als online angezeigt.

Wenn alles gestartet ist und ich den Screen per "rechtswisch" mit der Maus freigebe sehe ich den Titel "ShowLocation" und dann

Latitude: unknown
Longitute: unknow

wenn ich mich nun per Telnet verbinde und Koordinate per geo fix übermittle, dann bekomme ich zwar immer ein "OK", aber es ändert sich nichts. Nach kurzer Zeit allerdings scheint der Emulator nicht mehr zu wollen und ich bekomme ewig lange das "android" logo zu sehen.

Irgendwas scheint hier gar nicht zu funktionieren, ich denke mittlerweile es ist nicht der Code, sondern irgendwas anderes - ich weiß nur leider nicht was.

Ich habe jetzt auch extra noch bei dem Device ein GPS support auf true gesetzt, ändert nur auch gar nichts.

Wenn es hier noch Tipps gibt, immer gerne her damit :-)

Thx!
schneseb ist offline   Mit Zitat antworten
Alt 23.09.2011, 22:55   #5 (permalink)
Neuer Benutzer

Registriert seit: 06.03.2011
Beiträge: 21
Abgegebene Danke: 15
Erhielt 0 Danke für 0 Beiträge
Standard AW: Minimalbeispiel GPS für Emulator

So ich noch einmal.

Ich habe nun dein Programm mal auf mein Tablet installiert und bin dann nach draußen. Ja es funktioniert, ich hatte gar nicht so auf den Code geachtet, das Update erfolgt ja nicht in den oben beschriebenen Werten.

Nur warum will der Emulator nicht?...
schneseb ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
App die GPS dauerhaft tracken lässt (für GPS Tethering) sandrodadon Karten und Navigation 1 28.02.2011 11:03
Nintendo 64 Emulator für Android? isO007 Sonstige Apps & Widgets 2 17.01.2011 22:10
GPS im Emulator geht nicht Neudroid Android App Entwicklung 0 27.09.2010 09:30
GPS Abfrage geht in Emulator, aber nicht in Handy Elvis Android App Entwicklung 9 05.08.2010 08:19
5250 Emulator für Android Asfaloth Sonstige Apps & Widgets 0 06.02.2010 19:18




Du liest gerade: "Minimalbeispiel GPS für Emulator" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.