Eclipse: GPS App bringt Fehler: Latitude / Longitude

  • Antworten:1
Simon Gra
  • Forum-Beiträge: 1

27.07.2014, 00:42:26 via Website

Hallo zusammen,

bastle gerade an meiner ersten App nach dem Buch "Apps entwickeln" von Heike Scholz.
Es geht darum per Longitude und Latitude darzustellen wo ich mich gerade befinde.
Der Code ist folgender. Sieht jemand wo der Fehler liegt / etwas falsch programmiert ist?

package com.app.assaltado;

import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

public class GpsActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState); 

    //View laden
    setContentView(R.layout.activity_gps);

    //Activity taufen
    this.setTitle(R.string.gps);

    LocationManager geolocation = (LocationManager)
            this.getSystemService(Context.LOCATION_SERVICE);

    LocationListener locationListener = new LocationListener() {

        // Eventhandler = wichtigster Teil
        public void onLocationChanged(Location location){

            //Ausgabefelder referenzieren
            TextView latitudeOutput = (TextView)

findViewbyId(R.id.latitude);
TextView longitudeOutput = (TextView)
findViewbyId(R.id.longitude);

            //Koordinaten als Strings ermitteln
            String latitudeValue =

String.valueOf(location.getLatitude());
String longitudeValue =
String.valueOf(location.getLongitude());

            //Koordinaten ausgeben
            latitudeOutput.setText(Latitude:  + latitudeValue);
            longitudeOutput.setText(Longitude:  + longitudeValue);
        }

        public void onProviderEnabled(String provider) {}
        public void onProviderDisabled(String provider) {}
        public void onStatusChanged(String provider, int status, Bundle extras) {}
    };

    //Koordinaten alle 1000ms oder 5m aktualisieren
    geolocation.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000, 5, locationListener);
}

}

Ausgabefelder referenzieren und Koordinaten ausgeben scheint fehlerhaft..
Freue mich auf Eure Antworten,

Simon

Antworten
Andy N.
  • Forum-Beiträge: 3.112

27.07.2014, 12:08:18 via Website

latitudeOutput.setText(Latitude: + latitudeValue);
longitudeOutput.setText(Longitude: + longitudeValue);

Funktioniert nicht, So wird kein String übergeben.
Du hast auch nicht alle Bibliotheken eingebunden. Eclipse hilft Dir eigentlich dabei. (nachtrag: OK ist doch eingebunden, die Frage ist nur, ob auch die Ressource gefunden wird, also hast du das Textfeld auch so benannt.)

Ich empfehle Dir doch erst mal die Grundlagen von Java zu lernen.
Und als zweiten Tipp: lese die Fehlermeldungen, die Eclipse ausgibt.

— geändert am 27.07.2014, 12:14:37

Antworten