Android Tutorial – Teil 2
im 2. Teil meines Android Tutorials geht es nun um die User Interface Komponenten die das Aussehen und die Interaktion mit der App ausmachen. Android setzt hier wie schon im ersten Teil erwähnt auf Java, deshalb orientiert sich auch die Konzeption des User Interface nach der in Java üblichen Vorgangsweise (man denke hier an die unterschiedlichen Layoutklassen). Sehen wir uns einfach die einzelnen Komponenten im Detail an.
Activity
Eine Activity repräsentiert eine einzelne Interaktion des Anwenders. Im Normalfall besteht diese Interaktion aus der Anzeige eines User Interfaces in der der Benutzer um eine Interaktion gebeten wird. Nach Abschluss der Interaktion wird diese Information verarbeitet und das Programm reagiert darauf. Man kann sich das einfach Vorstellen mit der Anzeige eines Formulars in das der Benutzer seine Logindaten eingibt und mit einem Button bestätigt. Dieses Login wäre eine abgeschlossene Activity. Sehr oft bestehen solche Interaktionen auch aus vielen Activities. Zur Erzeugung des User Interfaces werden Views und ViewGroups bzw. Fragments verwendet.
Views and ViewGroups
Views sind alle User Interface Komponenten. Diese werden von der Klasse andoid.view.View abgeleitet. Beispiele dafür sind Textfelder, Buttons, Checkboxen usw… All diese Elemente haben Attribute die dessen Aussehen verändern können.
ViewGroups sind alle UI Komponenten die verwendet werden um die Views auf dem Display anzuordnen. Das sind die bereits aus der Java Programmierung bekannten LayoutManager. Die Basisklasse diese Elemente heißt android.view.ViewGroup. Zur Gestaltung der Displayelemente können diese ViewGroups auch beliebig verschachtelt werden, jedoch sollte man hier sparsam sein, da dies in langsame Performance ausarten kann.
Fragments
Fragments sind wiederverwendbare unabhängige Komponente die in einer Activity eingebaut werden kann. Diese kann wieder aus View bestehen ViewGroups. Fragments dienen zum einen der Wiederverwendbarkeit, zum anderen kann man dadurch angepasste Views für unterschiedliche Displaygrößen bauen. Am besten werden Fragments durch folgendes Bild erklärt:
Activity A beinhaltet ein Fragment mit einer Listenansicht, Activity B ein Fragment zur Detailansicht. Am Smartphone (links) sind diese beiden Fragments nacheinander sichtbar, also eigene Activities. Auf einem Tablet (rechts) ist mehr Platz, so kann man also beide Fragments gleichzeitig anzeigen. Die Funktion der Fragments bleibt jedoch bei beiden Versionen die selbe. Man ändert so nur die Anzeige.
Intents
Intents sind eine Art von asynchronen Nachrichten. Mit diesen kann die App Daten von anderen Komponenten des Systems abfragen. Das hört sich relativ kompliziert an. Im einfachsten Fall kann man mit Intents Daten zwischen unterschiedlichen Activities austauschen. Man unterscheidet zwischen expliziten Intents bei der Daten direkt von einer bestimmten Komponente abgefragt werden und implizite Intents bei dem beim Android System nach Komponenten gesucht wird, welche die gesuchten Daten zur Verfügung stellen können.
Services
Services sind Prozesse welche im Hintergrund laufen und keine User Interface besitzen. Ein Beispiel eines solchen Service ist ein AudioPlayer. Dieser läuft im Hintergrund auch weiter, wenn der Benutzer einen Browser startet und im Internet nach developer-blog.net sucht 🙂
ContentProvider
Mit dem ContentProvider kann man Daten über die Applikationsgrenzen hinweg austauschen. Als Beispiel sei hier der Zugriff auf die Systeminterne SQLite Datenbank genannt, in der Daten Applikationsübergreifend abgelegt werden können.
Soweit zum 2. Teil meines Tutorials. Im nächsten Teil erkläre ich die Bestandteile einer Android App genauer.
Teil 1 | Teil 2 | Teil 3 | Teil 4