Brainfact.de All about IT

3Nov/110

Android – GPS Verwenden

Heute möchte ich kurz vorstellen wie leicht man GPS in einer Android-APP verwenden kann. Zunächst ist wichtig, dass bei der APP die entsprechenden Permissions gesetzt sind, sodass sie auf das GPS zugreifen können. Dann habe ich mir folgende Klasse gebastelt:

/**
 * Simple Android GPS Usage Example
 */
public class AndroidGPS {
	// location manager
	private LocationManager lManager;
 
	// listener
	private LocationListener lListener;
 
	// saves last location
	private Location lastLocation;
 
	// update at least every x seconds
	private static int UPDATE_INTERVAL = 20;
 
	// update at least every x meters
	private static int UPDATE_DIST = 1000;
 
	/**
	 * Startup GPS Tracking
	 */
	public void init() {
		// init location Updater
		lManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
		lListener = new GPSLocListener();
 
		lManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, UPDATE_INTERVAL * 1000, UPDATE_DIST, lListener);
		saveLocation(lManager.getLastKnownLocation(LocationManager.GPS_PROVIDER));
	}
 
	/**
	 * Location manager class
	 */
	private final class GPSLocListener implements LocationListener {
 
		public void onLocationChanged(Location location) {
			saveLocation(location);
		}
 
		public void onProviderDisabled(String provider) {
			// 
		}
 
		public void onProviderEnabled(String provider) {
			//		
		}
 
		public void onStatusChanged(String provider, int status, Bundle extras) {
			//
		}
 
	}
 
	/**
	 * Save a location
	 */
	private void saveLocation(Location l) {
		lastLocation = l;
	}
 
	/**
	 * Returns last known location
	 */
	public Location getLocation() {
		return lastLocation;
	}
 
}

Ist eigentlich ziemlich selbsterklärend. Diese Klasse zu verwenden ist nicht schwer:

// Klasse initialisieren
AndroidGPS g = new AndroidGPS();
g.init();
 
// in einem timer zB
Location = g.getLocation();
// .. irgendwas damit machen

Ich hoffe ihr könnt damit was anfangen 😉