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 😉

31Okt/110

C# StringBetween

Heute poste ich ein kurzes Code-Snippet, was vorallem für "Quick&Dirty" Datenverarbeitung sehr nützlich sein kann – StringBetween. Man kann damit zwischen zwei gegeben String einen String extrahieren. Hier ein kleines Beispiel:

data.json

{
    "userid":23,
    "points":1255125,
    // more data...
    "premium":false
}

Extract.cs

String json = FileRead("data.json"); // won't work but just as example
 
int userId = int.Parse(Between(json, "\"userid\":", ","));
int points = int.Parse(Between(json, "\"points\":", ","));

Wie man sieht sehr einfach zu verwenden! Hier der Code der Between (=StringBetween) Funktion:

public static string Between(string s, String Left, String Right, int Start = 0)
        {
            int pos = s.IndexOf(Left, Start);
 
            if (pos == -1)
            {
                return "";
            }
 
            pos += Left.Length;
 
            int pad = s.IndexOf(Right, pos);
 
            return s.Substring(pos, pad - pos);
        }

Viel erfolg damit 🙂