Jul 242013
 

Wir könnten nun anfangen mit viel Code und Dateien, die ihr runter laden könnt. Das beste wird aber sein, dass wir unsere Android Dateien von innen anschauen.

Für diese Anleitung benötigen wir ein Grundwissen von Java. Falls ihr noch nie ein Java Programm geschrieben habt, rate ich euch dringend dazu, mit den Grundlagen anzufangen: Grundlagen der Programmierung.

Wir werden alle unsere Programme mit Eclipse programmieren. Eine Anleitung, um alle erforderlichen Programme zu installieren, findet ihr hier: Einrichten von Eclipse und Java

Für diejenigen, welche noch nicht mit Eclipse programmiert haben, hier habt ihr eine integrierte Entwicklungsumgebung. Hier wird euer Programm organisiert, ihr könnt es testen und installierbare .APK Dateien exportieren. Diese können dann im Google Play Store hochgeladen werden. Eclipse sieht wie folgt aus:

1 k5l2b1

Links haben wir den Package Explorer, hier sind alle Projekte gespeichert. In der Mitte wird der Code der einzelnen Klassen in verschiedenen Tabs angezeigt. Im Package Explorer kann man die Struktur des Projektes erkennen.

3

In dem SRC Ordner ist unser Code enthalten, wie bei unserem Java Spiel.

Der GEN Ordner enthält automatisch erzeugten Code. Hier wollen wir nicht wirklich rein schauen. Eigentlich fast immer treten hier keine Fehler auf.

Andorid 4.2 und Android Dependencies, libs beinhalten verschiedenen Libraries und Abhängigkeiten, die von unserer App benötigt werden.

Der assets Ordner beinhaltet verschiedene Resourcen. Der res Ordneer enthält Recourcen wie Strings, Layouts und Bilder. Hier sind auch die verschiedenen Übersetzungen enthalten, falls wir für mehrere Sprachen entwickeln.

proguard beschützt unseren Code. Damit wird er so sehr optimiert und zusammengepackt, dass es für einen Dritten sehr schwer ist, unseren Code auszulesen, für den Fall, dass wir unseren Code geheim halten wollen.

Die einfachste App, welche wir erzeugen können, ist die Hello world! App.

k5l2b2

Alleine von dieser App, wo wir selber nichts programmiert haben, können wir sehr viel lernen.

Rückwärts programmieren

1. Als Erstes gehen wir hier in den SRC Ordner. Darin haben wir nur eine Datei „MainActivity.Java“.

k5l2b4

Das Erste, was uns bei dieser Klasse auffallen sollte, ist, dass sie um Activity erweitert wird: extends Acivity. Das können wir uns einfach als eine Seite unserer App vorstellen. Eine Aktivität ist ein Fenster (Window) unserer App, mit welchem wir interagieren können (so wie der Posteingang von unserer Gmail App).

Wenn wir uns das jetzt verinnerlichen, dann ist diese Klasse genau das, was wir oben in dem Bild sehen. Was sind dann aber diese beiden @Override?

Nochmal kurz zum Wiederholen, @Override bedeutet, dass diese Methode den Platz der Methode der Superklasse einnimmt. Da hier die MainActivity mit der Activity erweitert wird, handelt es sich hierbei um die Activity Superklasse.

Diese Superklasse ist im Besitz von onCreate und von onCreateOptionsMenu Methoden. Wir könnten diese nun einfach übernehmen und sie würden funktionieren. Wir können aber auch die beiden Methoden nehmen und sie uns so anpassen, wie wir sie benötigen.

Nun haben wir die onCreate Methode in unserer MainActivity. Das Erste, was diese Methode macht: sie ruft die onnCreate Methde der Superclasse Activity auf. Danach kommt der folgende Code: setContentView(R.layout.activity_main);

Dies bedeutet einfach, dass immer, wenn diese Methode aufgerufen wird, die onCreate Methode der Superklasse aufgerufen wird. Danach wird setContentView aufgerufen.

Was bedeutet setContentView?

Lasst uns mal einen Schritt zurück gehen und nicht den Code sondern unsere App anschauen. Was sehen wir hier?

k5l2b2

Aber nirgends ist in unserem Code „Hello world!“ zu finden, wo kommt es also her? Das ist recht einfach, aus der onCreate Methode.

Wenn wir onCreate aufrufen startet eine Aktivität. In diesem Fall zeigt unser System den Inhalt „Hello world!“ unserer Aktivität an, mit der Hilfe von: setContentView(layout);

Bei uns wird das Layout R.layout.activity_main angezeigt. Hier werden wir in den res Ordner geleitet. Ich hoffe nun, dass ihr versteht, dass Android eine Art Mehrkomponentenmaschine ist?

Lasst uns die onCreateOptionMenu überspringen, da diese noch einmal erscheinen wird.

Suche nach dem activity_main Layout

Dazu müssen wir nur in unseren res Ordner gehen und dort unter Layout schauen.

k5l2b5

Da ist nun unsere Datei, darin enthalten ist unser Inhalt, der angezeigt wird.

k5l2b6

So sieht diese Datei aus, wenn wir sie öffnen. Es gibt 2 wichtige Dinge darin:

1. RelativeLayout
2. TextView

Hier haben wir unser Layout gegeben. Höhe und Breite wird von „match_parent“ genommen, in diesem Fall ist es der komplette Bildschirm. Alles Weitere werden wir zu gegebener Zeit besprechen.

TextView gibt an, dass der Text in Höhe und Breite „wrap_content“ einnimmt, d. h. der Text kann soviel Platz einnehmen, wie er benötigt, um dargestellt zu werden. Man kann auch erkennen, wo unser Text herkommt.

k5l2b7

Und in dieser String Datei können wir nun unseren Text bearbeiten, was ich auch schon getan habe:

k5l2b8

Damit haben wir das folgende Ergebnis:

k5l2b3

Android Manifest (AndroidManifest.xml)

Hier wird ein Großteil der Appinformationen gespeichert. Hier kann man die Versionsnummer der App ändern, welche Android Version mindestens vorhanden sein muss, die Main Acivity (ähnlich der Main-Methode) und vieles mehr. Wir werden im Laufe dieses Kapitels noch genauer darauf eingehen.

Wenn ihr nun einen Doppelklick auf AndroidManifest.xml macht, solltet ihr das Folgende sehen:

4

Wenn ihr unten schaut, könnt ihr hier viele Informationen sehen und finden. Es ist auch genauso leicht, diese hier abzuändern. Der letzte Tab, die AndroidManifest.xml, zeigt euch all diese Informationen als Code.

5

<manifest> </manifest>

Zwischen diesen beiden, ist die komplette Manifest Datei geschrieben. Hier können wir alles finden, den Namen, die Versionsnummer, den Versionscode, welcher mit jeder neuen Veröffentlichung um 1 steigt und die Versionsnummer, die hier 1.0 ist, da es unsere erste Veröffentlichung ist.

<uses-sdk>

Hier wird angegeben, welche Android Version mindestens gegeben sein muss, damit die App darauf läuft. Bei unserer App ist es Android 2.2 Froyo. Ich würde euch empfehlen, wenigstens für API Level 14, also Android 4.0 zu programmieren. Mehr Infos gibt es hier: http://developer.android.com/guide/topics/manifest/uses-sdk-element.html

<application>

Darin definieren wir ein paar Eigenschaften unserer App. So erlauben wir es, dass unsere App via ADB gesichert werden kann, das Icon unserer App kann hier gefunden werden, der Name unserer App und das Theme unserer App.

<activity>

Hier werden unsere Activities erzeugt. Für jede Seite unserer App benötigen wir eine Activity, ansonsten stürzt die App ab. Da dies ein sehr häufiger Fehler ist, werden ihn sicherlich einige von uns auch erleben.

<intent-filter>

Damit legen wir die Main Activity fest, also die, mit welcher wir die App starten. Nur eine Activity sollte dies beinhalten.

Falls ihr Fragen habt, immer raus damit, ich helfe euch sehr gerne. Hinterlasst bitte einfach einen Kommentar.

Teilt diese Seite mit euren Freunden und besucht uns mal auf Facebook und auf Google+, das würde dieser Seite wirklich weiterhelfen, danke sehr. Auch ein Klick auf die Werbung hilft dabei, diese Seite am Laufen zu halten.

Quelle: Original Anleitung auf englisch von Kilobolt Studios

Lektion 1 - Android Einmaleins Lektion 3 - Die Entwicklungsmaschine