2013-10-17

Android-Tipp: auf Telefonie prüfen

Manchmal kann es nützlich sein, auf das Vorhandensein oder Fehlen einer bestimmten Funktion zu prüfen. Der folgende Zweizeiler liefert true, wenn Telefoniefunktionen verfügbar sind.
 PackageManager pm = getPackageManager();  
 boolean hasTelephony   
   = pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY);  
Android-typisch gibt es aber ein kleines caveat: der Android-Emulator liefert in der Grundeinstellung false

2013-10-13

Kenne Dein API–die praktische Hilfsklasse Pair

Die Klassenbibliothek von Android ist im Laufe der Jahre ziemlich umfangreich geworden. Viele praktische Helfer könnten den Programmieralltag erleichtern. Aber nicht jede Klasse wird oft genug eingesetzt. Ein Beispiel ist Pair.Sie gibt es schon seit der ersten Ausgabe von Eclair (API Level 5). Das war Ende 2009. Grund genug, sie mit ein paar Sätzen zu würdigen.
Pair kombiniert zwei Werte zu einem Tupel. Deren Datentypen können unterschiedlich sein. Der Zugriff erfolgt über die Variablen first und second.
 Pair<String, Date> p1 = new Pair<String, Date>("heute", new Date());  
 Pair<String, Date> p2 = Pair.create("jetzt", p1.second);  
 System.out.println(p1.first);  
 System.out.println(p2.first);  
 System.out.println(p1.equals(p2));  
Paare kommen recht häufig vor. Denken Sie an Koordinaten, Größenangaben oder Seitenverhältnissen. Aber auch für jede Form von Schlüssel-Wert-Kombinationen kann diese Klasse ein praktischer Container sein. Die sie schon mit API Level 5 eingeführt wurde, dürfte ihre Verwendung kaum noch ein Problem darstellen.