Hol Dir jetzt die neue kino.de App     Deutschland geht ins kino.de

yellowTAB liest: Android 2 - Grundlagen der Programmierung

Bernd Korz

</a Google hat mit Android ein mobiles Betriebssystem geschaffen, dass es mit jedem anderen locker aufnehmen kann. Es hat so viele Stärken, vereint neueste Technologien unter einer Haube und bietet nicht nur dem Endanwender unendliche Möglichkeiten. Dies haben auch die Handyhersteller erkannt und so wundert es nicht, dass immer mehr Mobiltelefone mit dem System ausgestattet werden. Schon heute ist Android knapp hinter Apples iOS und holt weiter auf. Es dürfte nur noch wenige Monate dauern, bis man den Platz vor Apple einnimmt was die Verbreitung des Systems angeht.

Es gibt schon heute mehr als 100.000 Apps für Android im Marketplace, doch der Hunger scheint unstillbar. Firmen wie Entwickler wollen dabei sein bei diesem Wachstum und sich ein Stück von diesem Kuchen – so groß wie ein Kontinent – abzuschneiden. Wer C/C++ Kenntnisse hat wird sich auch leichter zurecht finden aber nichts desto trotz: Android hat seine Besonderheiten.

Ein Programm zu schreiben, welches auf einem so kleinen Display mit den – im Vergleich zu PCs – eher lächerlichen Hardwaregrundlagen zurecht kommen muss, ist ein Kunststück. Vieles ist hier zu beachten um wirklich effizienten Code zu schreiben. Man muss sich das so vorstellen:

In einem Büro ist Platz für 50 Personen doch die Menge an Arbeit, die es zu leisten gilt, reicht für 100 Personen. Dies kann man nur durch perfektionierte Arbeitsabläufe und Strukturen bewältigen. Es dürfen keine unnötigen Ressourcen verschwendet werden und alles muss wirklich Hand in Hand arbeiten. Dabei darf man dann auch gerne auf schon bestehende Strukturen zurückgreifen. Es gibt einen Kopierer für alle und nicht 20 verschiedene über das Stockwerk verteilt.

Dies nun auf das Programmieren angewandt bedeutet nicht mehr, als dass man auf vorhandene Klassen zurückgreift und dabei ausnahmslos alle Arbeitsabläufe höchst effizient programmiert. Wie aber soll man das nun wissen? Man hat für Windows programmiert, kennt sich mit Mac OS X aus, aber Android? Zunächst sei einmal gesagt, dass Android ein Linux ist und damit schon vielen Entwicklern die erste ganz große Tür öffnet. Wer sich mit Unix und/oder Linux auskennt und weiss, wie man da programmiert wird sich auch schneller auf Android wohlfühlen. Weiter kommt hinzu, dass Android Java unterstützt und auch hier perfekt mit der Entwicklungssprache zusammenarbeitet. Vieles wurde für Java optimiert. Wer also Javaprogrammierung beherrscht, wird in wenigen Tagen verstehen, worum es wirklich geht.

Um nun nicht nur den Einsteig zu schaffen, sondern das nahezu perfekt arbeitende Programm für Android zu schreiben hat der dpunkt Verlag das Buch Android 2 – Grundlagen der Programmierung – herausgebracht. Unter der Mitarbeit von David Müller haben die beiden Autoren Arno Becker und Marcus Pant auf 411 Seiten ein Grundlagenwerk geschaffen, welches zum einen den Einsteig wesentlich erleichtert und zum Anderen einen Programmierer zu einem Androidguru machen kann.

Zunächst einmal gehen die Autoren auf die Besonderheiten ein, die es in der Programmierung auf Android gibt, so wird der Einstieg leichter gemacht. Hierzu hatte man sich ein Programmbeispiel geschaffen welches alle wichtigen Elemente enthält und bereits über das übliche „Hello World“ hinausgeht. Die einzelnen Elemente werden dann detailliert besprochen und schaffen den Einblick in die Finesse der Entwicklung.

Sehr gut gelungen ist dann gleich der nächste sehr große Part, die Entwicklung einer aussagekräftigen GUI (Oberfläche). Dabei wird erklärt welche Elemente man verwenden kann und wofür sich was eignet. Der Aufbau einer Oberfläche geht für den Endanwender nur bis zum Zeigefinger, für den Entwickler aber in die unendlichen Tiefen von Android, denn die Elemente können einiges „bewegen“. Die Sicherheit wird hier am meisten ausser Acht gelassen, obwohl gerade hier die Möglichkeit des Hackens recht hoch ist. Daher verwundert es auch nicht, dass Becker und Pant sich sehr viel Mühe gegeben haben und bemüht sind, einen guten Stamm an Entwicklern „Heranzuziehen“.

Layouts, Views, Buttons, Scrollbalken, Bilder, Filme, Multimediaelemente, Formularbearbeitung, Fortschrittsanzeige und vieles mehr lässt sich in dem Kapitel Oberflächengestaltung erfahren und lernen. Sicher eines der ganz interessanten Themen für alle, die gerne zuerst eine App visuell darstellen wollen.

Der offensichtliche Part Bedienoberläche ist für den Anwender im Grunde wichtiger als für den Entwickler, doch im Hintergrund rotieren die Zahnräder. Hintergrundoperationen wie Prozesse, Threads oder auch Services müssen Hand in Hand arbeiten um die Effizienz und Brauchbarkeit der App zu gewährleisten. Im nächsten Kapitel widmen sich die Entwickler daher auch dieser ganz wichtigen Angelegenheit. Und auch hier sind die beiden mehr als bemüht, Klarheit ins Dunkel zu bringen und zeigen wo es hapert und wo man Optimierungen vornehmen kann.

Ob Dateisystem oder Datenbankoperationen, beides ist von Enormer Wichtigkeit um sowohl die App als auch die Informationen, welche durch die App abzulegen sind (Beispiel Finanzverwaltung), es geht nur über das Ablegen in einer Datenbank und Speichern im Dateisystem. Und auch hier hat Sicherheit wieder oberstes Gebot. Es gibt viele Tricks und Raffinesse was diese Sparte angeht. Pant und Becker wissen um die Wichtigkeit und zeigen wie es geht. Gerade bei den Datenbanken ist die Performance und richtige Art der Anwendung sehr wichtig, alles muss über queries Funktionieren und höchst effizient arbeiten. Wer nur 10 Datensätze ablegt wird da keine Schwierigkeit haben, aber es geht auch wesentlich mehr.

Die Ressourcen wurden ja schon mehrfach hier im Artikel erwähnt, was auch die Wichtigkeit unterstreicht. Ein Programm und dessen Operationen müssen mit sogenannten Lebenszyklen ausgestattet werden. So kann der Speicher nicht überlaufen und zum einen zu einem Datenleck oder Batteriefresser und zum anderen zu einem Prozessorkiller werden. Ein guter Programmierer wird sich darüber besonders Gedanken machen, denn wer möchte schon in einer Rezension lesen: „Gute App, aber bringt ständig mein Handy zum einfrieren, daher nicht zu empfehlen…“? So wird auch dieses Thema ausführlich behandelt.

Mit Google verbindet man neben der Suchmaschine noch eine andere ganz große Sache, nämlich die Maps. GoogleMaps oder GoogleEarth sind wohl zwei der bekanntesten Dienste neben der Suchmaschine. Selbst Apple nutzt diese auf seinem iPhone und iPad. Daher darf auch dieses Kapitel nicht fehlen. Man dürfte nach dem Lesen dieses Themas im Buch erstaunt sein, wie einfach es im Grunde ist, seine eigene NaviApp zu programmieren. Die API von Android und die Dienste von Google bringen locker 60% und mehr dafür mit.

Dieses Buch ist auch daher eine Besonderheit weil es an allen erdenklichen Stellen auch Beispielcode liefert. Man liest und sieht sofort aus dem Code im Buch heraus wovon die Beiden sprechen. Wer sich strikt an die Vorgehensweise hält und das Buch auch zu Herzen nimmt wird am Ende mit der Notwendigen Übung ein wirklich guter Android Programmierer werden.

Das Buch sowie diverse Leseproben gibt es für unter 40 Euro bei Amazon

.

2., aktualisierte und erweiterte Auflage
Mai 2010
427 Seiten, Broschur
ISBN 978-3-89864-677-2

Neue Artikel von GIGA GRUEN

GIGA Marktplatz