Eine Smartphone-App ist meist ein sehr umfangreiches Projekt, das sich über lange Zeit hinziehen kann und eine große Menge an Zeit für die Entwicklung beansprucht. Genau das kann Ihnen dieser Artikel auch nicht abnehmen, aber ich möchte beim Einstieg in die Entwicklungsumgebung und die Erstellung einer ersten, einfachen Anwendung helfen.
Von Google selbst wird die Verwendung der Eclipse-IDE empfohlen. In Verbindung dem Android-SDK vom Suchmaschinenriesen selbst ist damit die nahtlose Entwicklung innerhalb der IDE von der ersten Programmzeile bis zur fertig kompillierten App möglich.
Zur Programmierung wird Java verwendet.
Die IDE
Zur Installation von Eclipse lädt man sich zu Beginn die aktuelle Version von der offiziellen Webseite herunter. Ich empfehle für den vorliegenden Zweck die Verwendung von „Eclipse Classic“. Nach dem Download entpackt man einfach die zip-Datei und die Entwicklungsumgebung darin in einem beliebigen Ordner starten.
Android-SDK
Das SDK-Paket erhält man hier. Darin enthalten ist der Android-Emulator, der es ermöglicht die Apps auf dem Computer zu testen, auch wenn man kein Android-Smartphone besitzt, und die Komponenten zur Erstellung am Ende der Entwicklung. Diese Komponente wird durch einen Assistenen installiert.
An dieser Stelle empfehle ich bereits eine neue AVM (Android Virtual Machine) zu erstellen. Dazu muss vorher die entsprechende Version von Android heruntergeladen werden.
ADT-Plugin
Um das Android-SDK mit der Eclipse-IDE zu verbinden ist es nötig das ADT-Plugin von Google zu installieren. Dazu startet man die Entwicklungsumgebung mit eclipse.exe. Wenn das Arbeitsverzeichnis festgelegt wurde, darin wird der Code und alle Ressourcen gespeichert, geht man auf Help > Install New Software…. Über Add kann man eine neue Quelle für Pakete hinzufügen. Geben Sie dem neuen Eintrag einen beliebigen Namen und tragen Sie bei der Adresse ein:
1https://dl-ssl.google.com/android/eclipse/
Wählen Sie im erscheinden Baum Developer Tool und installieren Sie das Paket.
Nach einem Neustart von Eclipse sollte das Plugin fertig installiert sein, jedoch muss unter Window > Preferences unter Android noch der Pfad zum Android-SDK angegeben werden.
Projekt erstellen
Um eine neue Android-App zu erstellen wählen Sie File > New > Project…. Dort wählen Sie im Ordner Android den Punkt Android Project.
Im folgenden Fenster geben Sie dem Projekt einen Namen, im nächsten geben Sie die Zielversion von Android an.
Im letzten Fenster müssen Sie dem Paket noch einen Namen geben, eine Activity anlegen und auswählen in welcher Version von Android Ihr Programm unterstützt wird.
Der Paketname sollte eindeutig sein und irgendwie auf Sie und Ihre App hinweisen. Es darf auch ruhig Ihre echte Domain beeinhalten. Die Activity ist sozusagen die Hauptfunktion bzw. der Bildschirm, der bei Start der App aufgerufen wird.
Klicken Sie auf Finish, um die App einzurichten. Jetzt müsste alles für die Programmierung bereitstehen.
Allgemeine Einstellungen
Öffnen Sie den Baum auf der linken Seite und doppelklicken Sie auf res/AndroidManifest.xml. In dieser Datei werden die Haupteinstellungen der App angegeben, wie der angezeigte Namen, das Icon und die Rechte, die für die Benutzung erforderlich sind. Texteinträge sollten jedoch in der Datei res/values/strings.xml angegeben und hierhin verlinkt werden. Alle Einstellungen erreichen Sie über Tabs am unteren Rand.
Layout
Öffnen Sie durch einen Doppelklick res/layout/main.xml. Daraufhin erschient der Startbildschirm der App, der nun durch Daraufziehen mit Bedienelementen versehen werden kann. Sie können hier Textfelder, Knöpfe, Bilder usw. hinzufügen. Zusätzlich kann das Layout auch über die Bearbeitung der XML-Datei bearbeitet werden.
Programmierung
Endlich kommen wir zum Hauptteil: Dem eigentlichen Programmieren. Die weitere Vorgehensweise hängt natürlich sehr stark davon ab, welche App sie erstellen wollen und so gibt es keine „Patentlösung“.
Um den Quellcode zu öffnen, doppelklicken Sie auf src/<Paketname>/<Activity>.java. Vor Ihnen sollte nun etwa folgendes zu sehen sein:
1package test.abc;
2
3import android.app.Activity;
4import android.os.Bundle;
5
6public class AbcActivity extends Activity {
7 /** Called when the activity is first created. */
8 @Override
9 public void onCreate(Bundle savedInstanceState) {
10 super.onCreate(savedInstanceState);
11 setContentView(R.layout.main);
12 }
13}
Ihre Aktivität erweitert also die Klasse Activity und ruft beim Starten der App durch
1setContentView(R.layout.main);
den Startbildschirm auf.
Um auf Benutzereingaben reagieren zu können sind natürlich noch Event-Handler nötig.
Button submit = (Button) findViewById(R.id.button_login);
1submit.setOnClickListener(new OnClickListener() {
2 public void onClick(View v) {
3 // do the magic
4 }
5});
Über die Methode findViewById können Sie Elemente des Layouts, die Sie vorher im Layout-Editor anlegen müssen, auswählen und in eine Variable speichern. Durch diese Variable kann ein EventListener, dieser hier reagiert auf Klicks, hinzugefügt werden.
Testen der App
Jetzt ist es an der Zeit die App auch einmal „live“ auszuprobieren. Klicken Sie dazu auf den grünen Knopf oberhalb des Codes:
Nun sollte der Android-Emulator starten. Bitte haben Sie dazu ein wenig Geduld, denn gerade beim ersten Start kann dieser Vorgang einige Minuten dauern. Nach einiger Zeit sollte jedoch der Lockscreen eines Android-Smartphones erscheinen und zum Entsperren auffordern. Unter den Programmen sollte nun Ihre App auftauchen und sich testen lassen.
Erstellen einer .apk-Datei
Wenn Ihre App fertig ist, oder Sie sie einfach einmal auf einem echten Gerät testen wollen, sollte sie in eine apk-Datei exportiert werden. Klicken Sie dazu mit der rechten Maustaste auf Ihr Projekt und wählen Sie Android Tools > Export Unsigned Application Package. Nun können Sie die Datei speichern und auf einem Gerät ausführen.
Rechte
Wenn Ihre App beispielsweise auf das Internet zugreifen will, müssen Sie vorher die Rechte dazu anfordern, die zudem bei der Installation vom Benutzer bestätigt werden müssen. Dies erfolgt in der AndroidManifest-Datei im Tab Permissions. Für den Internetzugriff ist zum Beispiel der Uses Permission-Eintrag android.permission.INTERNET
erforderlich.