© prettyboy80/Shutterstock.com
Einführung in die Android-Entwicklung für Windows-Entwickler

Mal sehen, wie das so geht


Im mobilen Bereich kann man Android nicht ignorieren. Viele Entwickler sind in der Windows-Welt zu Hause und fragen sich, wie leicht oder schwer der Einstieg in die Entwicklung von Apps für Android-Geräte ist. Eine Einführung für Windows-Entwickler.

Keine Frage, es gibt bereits einige gute Bücher, welche den schnellen und unkomplizierten Einstieg in die Programmentwicklung von Apps für Android versprechen. Ob ein Tutorial gut oder weniger gut gelungen ist, ist u. a. auch stark von der jeweiligen Perspektive der Betrachtung abhängig. Idealerweise findet man ein Dokument, das den Lerninteressierten genau an jener Stelle abholt, wo er sich befindet.

Vor einigen Jahren spielte die Entwicklung von Apps für mobile Endgeräte noch keine große Rolle. Klassische Anwendersoftware wurde primär für den Desktop entwickelt. Eine eindeutige Dominanz haben hier die verschiedenen Versionen der Windows-Betriebssysteme von Microsoft. In diesem „Ökosystem“ ist eine Vielzahl von Programmierern seit vielen Jahren zu Hause: Sie kennen das System vom Aufbau, die Art und Weise der Anwendungsentwicklung, die eingesetzten Frameworks und Bibliotheken (zum Beispiel .NET) und die etablierten Programmiersprachen (zum Beispiel C#, C++ und Java). Will man jetzt Apps für mobile Endgeräte entwickeln, kann man natürlich auch Windows Phone in den Versionen 7 und 8 wählen. Die Benutzeroberflächen können dann mit XAML (Silverlight) erstellt werden, das .NET Framework ist in einer „abgespeckten“ Version verfügbar. Im mobilen Bereich ist jedoch eine andere Vorbereitung der Betriebssysteme zu verzeichnen. Windows Phone rangiert gemäß aktuellen Statistiken nach Android und iOS. Stellt man Applikationen zur Nutzung auf Smartphones und/oder Tablets zur Verfügung, so ist man aus heutiger Sicht quasi gezwungen, auch das Android-System zu unterstützen. Der Entwickler ist also angehalten, sich im Detail mit der Programmentwicklung des – auf einen Linux-Kern basierenden – Android-Systems auseinanderzusetzen. Die entscheidende Frage wird dabei lauten: Wie viel Wissen aus meiner bisherigen Systemumgebung kann ich nutzen und erfolgreich einbringen?

Diese zweiteilige Artikelserie (Kasten: „Android für Windows-Entwickler – Der Einstieg in zwei Teilen“) gibt eine kompakte Einführung in die Entwicklung von Apps für Android und nimmt dabei die Perspektive des etablierten Windows-Entwicklers ein. Somit werden zwei Punkte insbesondere betrachtet:

  • Welche Gemeinsamkeiten gibt es zwischen beiden Systemen, d. h. wie kann man das bekannte Wissen in die neue Systemumgebung transferieren und dort nutzen?

  • Besonders muss man auf die Unterschiede hinweisen. Gelegentlich erwartet man als „eingefuchster“ Windows-Entwickler etwas ganz anderes bzw. würde man die Lösung eines Problems vollständig abweichend angehen. In diesem Fall ist Vorwissen sogar schädlich, da es einen aktiven Prozess des Umlernens erfordert.

Android für Windows-Entwickler – Der Einstieg in zwei Teilen

In einer zweiteiligen Artikelserie präsentieren wir einen kompakten Einstieg in die Programmentwicklung für Apps für mobile Endgeräte, die unter Android lauffähig sind. Dabei haben wir folgende Aufteilung gewählt:

  • Teil 1: Einführung in die Plattform, Installation der notwendigen Werkzeuge, Erstellen einer ersten App, Test dieser auf dem Emulator und auf einem „echten“ Tablet/Smartphone.

  • Teil 2: Im Mittelpunkt steht die Gestaltung des User Interface. Dabei muss in die Technik und Systematik für Android (XML) eingeführt werden. Ähnlichkeiten zu WPF (XAML) sollen bewusst hergestellt werden. Auch ein paar Hinweise zur Programmiersprache Java und den plattformspezifischen Besonderheiten (zum Beispiel die Abfrage der Sensoren) werden in einem Exkurs betrachtet.

Allgemeines

Android ist ein Betriebssystem (basierend auf dem Linux-Kernel 2.6) und eine Plattform gleichzeitig. Dazu gehört eine Reihe von Standardanwendungen (beispielsweise Kontaktdatenbank, Uhr, Browser …). Der Bezug der Anwendungen wird im Regelfall über Google Play erledigt. Bestandteil von Android ist ebenfalls die virtuelle Maschine Dalvik (entwickelt von Dan Bornstein, benannt nach einem kleinen Fischerort auf Island). Die Anwendungen (Apps) werden nicht direkt durch den Prozessor des mobilen Endgeräts ausgeführt, sondern in Instanzen dieser virtuellen Maschine. Dieses Vorgehen führt zu einer erhöhten Sicherheit und insgesamt besseren Stabilität der Plattform. Dalvik wurde im Hinblick auf einen minimalen Speicherverbrauch optimiert. Die virtuelle Maschine und die so gennannten Core Libraries bilden zusammen die Android Runtime. Zu den Core Libraries gehören u. a. die aus Java bekannten Pakete wie java. Lang, java.io, java.math etc. Eine Schicht über den Libraries und der Android Runtime ist das Application Framework angeordnet. Dieses ermöglicht das Erstellen benutzerfreundlicher Apps mit geringem Aufwand. Bestandteile des Application Frameworks sind:

  • Views: Umfasst Standardbedienelemente wie Textfelder, Schaltflächen etc.

  • Content Provider: Regelt den Zugriff auf die Daten anderer Programme.

  • Resource Manager: Stellt Zeichenketten, Grafiken und Layoutdaten bereit.

  • Notification Manager: Gewährleistung des Zugriffs auf die Statuszeile.

  • Activity Manager: Darüber wird der Lebenszyklus einer App abgewickelt.

Der Lebenszyklus einer App im Android-System unterscheidet sich von demjenigen einer Desktopanwendung. Man kann ihn wie in Abbildung 1 darstellen. Abbildung 2 zeigt dagegen den Aufbau der gesamten Android-Plattform.

krypczyk_android_1.tif_fmt1.jpgAbb. 1: Lebens­zyklus einer Android-App [1]
krypczyk_android_2.tif_fmt1.jpgAbb. 2: Aufbau der Android-Plattform [2]

Systemumgebung einrichten

Der erste und wichtigste Schritt ist es, die Systemumgebung einzurichten. Dazu müssen die Vor...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang