Meine erste Android App

Seit einigen Wochen bin ich stolzer Besitzer eines Android Phones (dem Motorola Milestone). Als programmierendes Spielkind wollte ich da natürlich sofort ausprobieren, wie man für das Gerät Software Apps schreiben kann.

Irgendwo hatte ich gehört, dass Python und andere Skriptsprachen auf dem Gerät laufen. Hierfür stellt Google das Android Scripting Environment (ASE) bereit. Eine tolle Sache, mit der man in Python direkt auf dem Gerät die API des Phones und die komplette Python-Standard-Library ansteuern kann. Enorm klasse wenn einem in der Bahn mal langweilig ist und man die tolle Hardwaretastatur des Phones ausreizen möchte. Zur ASE folgt aber vielleicht demnächst ein Beitrag.

Alles was man braucht um eine richtige App zu schreiben sind Java-Kenntnisse sowie ein bisschen XML-Wissen. Also nahm ich mir letztes Wochenende vor, statt des sonst obligatorischen “Hello World” mal ein kleines “Tic Tac Toe”-Spiel vom GUI-Bauen über die Implementierung der Funktionalität bis zum Installieren auf dem Phone komplett durchzugehen. Erstaunlich schnell war ich damit auch fertig, trotz einiger schusseliger Fehler, denen ich mit dem Debugger auf die Schliche kommen musste habe ich insgesamt keine 4 Stunden da hinein gesteckt. Der Debugger ist übrigens hervorragend: Man kann interaktiv über Eclipse in den auf dem Emulator (oder sogar auf dem echten Handy!) laufenden Code debuggen. Großartig.

In gewohnter Google-Manier zeigt sich für potenzielle Android-App-Entwickler ganz deutlich, dass Google mitgedacht hat: Aktuelle Handyplattformen sind nur so viel wert, wie sie Möglichkeiten bieten, die Funktionalität der Grundsoftware beliebig zu erweitern.

Alle zur Entwicklung nötigen und hilfreichen Softwareprodukte sind Open-Source und plattformunabhängig: Der Emulator für den PC, die mitgelieferten Android Development Tools (ADT) und das super ADT-Plugin für Eclipse. Wer eine App schreiben möchte findet eine vorbildliche Doku von Google selbst, sowie unzählige Tutorials von Leuten, die genau die gleichen Software-/Hardware-Konstellationen wie man selbst haben (bei mir das Motorola mit Android 2.0 und einem Ubuntu 9.10 als Entwicklungsplattform).

Für Interessierte habe ich das Projekt mal hochgeladen, Dokumentation braucht ihr erst gar nicht zu suchen und wer Bugs findet darf sie behalten. TicTacToe Android (Java Source als ZIP)