Technik erklärt

Alles über Google Android

06.10.2010
Von 
Hans-Christian Dirscherl ist Redakteur der PC-Welt.

So funktioniert eine Android-App

Wer verstehen will, wie eine Android-App funktioniert, muss einige Schlüsselbegriffe kennen, die die Bestandteile einer Android-App definieren: Activities, Intents, Services und Content Provider.

Der Lebenszyklus einer Activity (Foto: Google)
Der Lebenszyklus einer Activity (Foto: Google)

Nehmen wir Activity: Eine Activity ist das, womit der Anwender auf seinem Smartphone interagiert beziehungsweise was der Smartphone-Besitzer sieht. Jede Bildschirmseite hat eine eigene Activity, die deren Funktionalität festlegt. Allen Activities entsprechen Views, die das Layout definieren und als Bildschirmmasken bezeichnet werden können. Views können bequem in XML definiert werden und müssen nicht in Java selbst programmiert werden (wie es sonst bei der klassischen Java-Programmierung mit Swing oder AWT der Fall ist und was grundsätzlich auch bei einer Android-App möglich ist). Das oben erwähnte Application Framework stellt die Views für die Anwendungen bereit.

Jede App mit einer grafischen Oberfläche hat mindestens eine Activity. Jede Activity kann verschiedene Zustände haben:
active/running: Die Activity wird ausgeführt und die View auf dem Gerät dargestellt.
Paused: Die Activity ist pausiert und wird von einer anderen aktiven Activities teilweise überdeckt. Status- und Benutzerinformationen werden zwischengespeichert.
Stopped: Die Ansicht einer Activity wird durch eine andere Activity komplett überdeckt. Die Statusinformationen werden gespeichert.

Services sind wiederum die Hintergrunddienste, beispielsweise ein im Hintergrund ablaufender Download oder der Media Player, der gerade ein Lied abspielt. Zwischen den Services, die es lokal oder via Remote gibt, und dem Benutzer findet keine Interaktion statt.

Der Content Provider enthält Daten, die andere Anwendungen abrufen und nutzen können, beispielsweise Kontaktdaten. Für Lese- und Schreibzugriffe können Linux-typisch Zugriffsbeschränkungen festgelegt werden.

Mit den Broadcast Receivern kann eine App auf Systemereignisse lauschen und dann darauf reagieren. Und dann gibt es noch Intent: Damit werden Nachrichten zwischen den Anwendungen bezeichnet.