AsyncTask, GPS, was muss parallel laufen?

A

Artwork

Ambitioniertes Mitglied
10
Hi,

ich habe 2 Klassen:

Code:
public class GeoDataGateway implements LocationListener

und

Code:
public class MainActivity extends Activity

In MainActivity initialisiere ich das GeoDataGateway. Dieses sendet an MainActivity GPS Status Updates.

Code:
public void onLocationChanged(Location location) {
		location = this.lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
		try {
			this.mLongitude = location.getLongitude();
			this.mLatitude = location.getLatitude();		
			Message msg = Message.obtain();
			msg.what = UPDATE_LOCATION;
			this.SystemService.updateHandler.sendMessage(msg);
		} catch (NullPointerException e) {
			Log.i("Null pointer exception " + mLongitude + "," + mLatitude, null);
		}
}

Hier wird an MainActivity eine Nachricht gesendet. In MainActivity verarbeite ich diese Updates so:

Code:
 Handler updateHandler = new Handler() {
    	/** Gets called on every message that is received */
    	// @Override
    	public void handleMessage(Message msg) {
    		switch (msg.what) {
	    		case UPDATE_LOCATION: {
	    			if(geosenseo.getCurrentPoint() == null){
	    				streetView.setText("locating...");
	    			}else{
	    				streetView.setText(geosenseo.getCurrentStreet());
	    				cityView.setText(geosenseo.getCurrentCity());
	    			}
	    		}
    	    }
    		super.handleMessage(msg);
    	}
     };

Alle 5 sec bekomme ich ein Update und setzte einige Informationen auf die Gui. Das Problem ist dann, dass die Gui sich aufhängt, also streetView.setText(geosenseo.getCurrentStreet()); würde gerade noch gehen, wenn ich dann noch cityView.setText(geosenseo.getCurrentCity()); hinzufüge hängt sich die App komplett auf.

Nun kann man sich da mit Threads usw helfen lassen. Aber irgendwie begreife ich gerade nicht was denn nun parallel ablaufen soll.

Ich meine die GPS updates kommen ja schon parallel zum hauptprogramm. das gps modul quasi nochmal in einem thread unterzubringen würde ja keinen sinn machen.

Nun Liegt der Handler ja in MainActivity, vllt den auslagern?^^:confused:
 

Ähnliche Themen

S
Antworten
9
Aufrufe
1.210
swa00
swa00
U
  • unerfahrenerAppEntwickler
Antworten
3
Aufrufe
707
swa00
swa00
koje71
Antworten
1
Aufrufe
939
swa00
swa00
Zurück
Oben Unten