GPS Data Flow problem

A

Artwork

Ambitioniertes Mitglied
10
Hi,

ich habe ein grundlegendes problem mit dem/meinem gps konzept. Und zwar frage ich mich, wie kann ich GPS Daten in meine Anwendung programmiertechnisch nutzen.

Um GPS daten zu bekommen benötigt man eine Art Update Handler der den LocationListener(Interface) mit seinen methoden implementiert. Unter anderem onLocationChanged(Location loc)

innerhalb dieser methode kann man über die variable loc dann "lat" und "lng" unter anderem abfragen.

Wenn ich zum Beispiel eine Google Map haben möchte dann schreibe ich eine klasse "MapsView" die MapActivity erbt...ich erzeuge in einer Instanz von MapsView eine Instanz des Update Handlers, dieser bekommt dann auch die MapsView Instanz gleich mit und über diese kann der Update handler zb auf der map die aktuelle position setzen.

Was ich jedoch versuche und woran ich verzweifle ist diese GPS daten aus der Update handler instanz heraus zubekommen und in einer anderen klasse zu nutzen.

Zb möchte ich die stadt in der sich das handy befindet als string für weitere operationen unabhängig vom update händler. nach obigem ansatz müsste ich diese operationen ja im update handler selbst machen.

ganz vllt ZU bequem...aber so in pseudo code

start MapsView
start GPS
solange das läuft zeige WARTEN bild
request current city from location
return city as string
ende gps

..und mit city weiter sachen anstellen

so ähnlich habe ich es bereits probiert, beim testen ist die anwendung aber abgestürzt und zwar immer dann wenn es darum ging gps daten von update handler anzuvordern

ich hoffe ihr könnt mir helfen:confused:
 
so hallo, ich mein problem gelöst soweit

ich definiere einen Message/Update handler

PHP:
Handler updateHandler = new Handler() {
    	/** Gets called on every message that is received */
    	// @Override
    	public void handleMessage(Message msg) {
    		switch (msg.what) {
    		case UPDATE_LOCATION: {
    			Toast.makeText(getBaseContext(),"Your Location:" + g.mLongitude + "," + g.mLatitude, Toast.LENGTH_SHORT).show();
    			break;
    		}
    	        }
    		super.handleMessage(msg);
    	}
     };

im GeoDataGateway muss die message gesendet werden

PHP:
Message msg = Message.obtain();
msg.what = UPDATE_LOCATION;
this.SystemService.updateHandler.sendMessage(msg);

jedes mal wenn sich die "location" ändert wird eine nachricht an den update handler geschickt und ich kann dann auf die gps daten zugreifen^^
 

Ähnliche Themen

M
  • MikelKatzengreis
Antworten
10
Aufrufe
225
swa00
swa00
W
  • WuDiDong
Antworten
3
Aufrufe
767
jogimuc
J
H
Antworten
2
Aufrufe
932
swa00
swa00
Zurück
Oben Unten