Einleitung

Android‌? Ist das nicht so etwas wie eine Mensch-Maschine? Ein Roboter, der einem Menschen (täuschend) ähnlich sieht? Ja, und gleichzeitig der Name eines Betriebssystems, das Google‌ entwickelt hat und kostenfrei zur Verfügung stellt.

Während man Windows vorwiegend auf »großen« PCs findet, ist Android auf Smartphones und Tablets am meisten verbreitet. Rund Dreiviertel aller Handys (wie man sie auch immer noch nennt) laufen mit dem Android-System.

Computer sind sie eigentlich alle: Geräte, die man auf oder unter den Tisch stellt (Desktop-PCs), Geräte, die man mitnehmen kann (Notebooks und Tablets), und dann noch eine Nummer kleiner: die Smartphones.

Vorwiegend um Android für Smartphones geht es hier. Die meisten Projekte funktionieren aber auch auf Tablets. Programme für dieses System werden meisten kurz Apps‌ genannt (als Abkürzung für Applikationen).

Was heißt eigentlich Programmieren?

Wenn du aufschreibst, was ein Computer tun soll, nennt man das Programmieren‌. Das Tolle daran ist, dass du selbst bestimmen kannst, was getan werden soll. Lässt du dein Programm laufen, macht der Computer die Sachen, die du ausgeheckt hast. Natürlich wird er dann nicht dein Zimmer aufräumen und dir auch keine Tasse Kakao ans Bett bringen. Aber kannst du erst mal programmieren, kannst du den Computer sozusagen nach deiner Pfeife tanzen lassen.

Allerdings passiert es gerade beim Programmieren, dass der Computer nicht so will, wie du es gerne hättest. Meistens ist das ein Fehler im Programm. Das Problem kann aber auch irgendwo anders im Computer oder im Betriebssystem liegen. Das Dumme bei Fehlern ist, dass sie sich gern so gut verstecken, dass die Suche danach schon manchen Programmierer zur Verzweiflung gebracht hat.

Vielleicht hast du nun trotzdem Lust bekommen, das Programmieren zu erlernen. Und ausgerechnet noch für die »ganz Kleinen«. Dann brauchst du ja nur noch eine passende Entwicklungsumgebung‌, und schon kann’s losgehen.

Was ist eine Entwicklungsumgebung?

Um ein Programm zu erstellen, musst du erst etwas eintippen. Das ist wie bei einem Brief oder einer Geschichte, die man schreibt. Das Textprogramm dafür kann sehr einfach sein, weil es ja nicht auf eine besondere Schrift oder Darstellung ankommt wie bei einem Brief oder einem Referat. So etwas wird Editor‌ genannt.

Ist das Programm eingetippt, kann es der Computer nicht einfach lesen und ausführen. Jetzt muss es so übersetzt werden, dass der PC versteht, was du von ihm willst. Weil er aber eine ganz andere Sprache spricht als du, muss ein Dolmetscher her.

Du programmierst in einer Sprache, die du verstehst, und der Dolmetscher übersetzt es so, dass es dem Computer verständlich wird. So etwas heißt dann Compiler‌.

Im Prinzip kann man für Android mehrere Programmiersprachen benutzen, am meisten verbreitet ist Java. Hier gibt es als Dolmetscher die Java Virtual Machine‌ (kurz JVM‌). Diese Art »Zwischencomputer« lässt sich kostenlos installieren.

Eigentlich wird ein Java-Programm also an die JVM weitergereicht, die es dann für den jeweiligen Computer passend zubereitet: Das kann ein PC z.B. mit Windows sein. Oder ein Smartphone z.B. mit Android. Ein und dasselbe Java-Programm kann so im Prinzip auf jedem beliebigen Gerät funktionieren, das über eine JVM verfügt.

Schließlich müssen Programme getestet, überarbeitet, verbessert, wieder getestet und weiterentwickelt werden. Dazu gibt es noch einige zusätzliche Hilfen. Daraus wird dann ein ganzes System, die Entwicklungsumgebung.

Warum gerade Java?

Leider kannst du nicht einfach programmieren, wie dir der Mund gewachsen ist. Eine Programmiersprache‌ muss so aufgebaut sein, dass möglichst viele Menschen in möglichst vielen Ländern einheitlich damit umgehen können.

Weil in der ganzen Welt Leute zu finden sind, die wenigstens ein paar Brocken Englisch können, besteht auch fast jede Programmiersprache aus englischen Wörtern. Es gab auch immer mal Versuche, z.B. in Deutsch zu programmieren, aber meistens klingen die Wörter dort so künstlich, dass man lieber wieder aufs Englische zurückgreift.

Eigentlich wäre es egal, welche Programmiersprache du benutzt. Am besten eine, die möglichst leicht zu erlernen ist. Doch in der Android-Welt ist die Nummer 1 die Programmiersprache Java‌, mit der du es auch in diesem Buch zu tun hast. Diese gehört inzwischen zu den am meisten verbreiteten Sprachen im Computer-Bereich. Sie ist nicht einfach, aber auch für Anfänger geeignet, die mit Java ihre erste Programmiersprache lernen wollen. Und: Es ist eine Sprache, die Smartphones und Tablets mit Android gut verstehen.

[Bild]

In letzter Zeit hat sich mit Kotlin‌ eine neue Sprache verbreitet, die man auch unter Android Studio benutzen kann. Wir bleiben hier jedoch bei Java.

Der Weg zum guten Programmierer kann ganz schön steinig sein. Nicht selten kommt es vor, dass man die Lust verliert, weil einfach gar nichts klappen will. Das Programm tut etwas ganz anderes, man kann den Fehler nicht finden und man fragt sich: Wozu soll ich eigentlich programmieren lernen, wo es doch schon genug Apps gibt? Und dann noch ausgerechnet für Android. Aber du verspürst da einen Reiz, eigene Apps zu schreiben? Es ist also nicht nur einen Versuch wert, es kann sich durchaus lohnen, das Programmieren zu erlernen.

Android Studio, die Entwicklungsumgebung zum Buch

Um den Kauf einer Entwicklungsumgebung für Java und für Android musst du dich nicht kümmern, beides bekommst du kostenlos aus dem Internet.

[Bild]

Google stellt dir Android Studio‌ zur Verfügung, eine komfortable und leistungsstarke Entwicklungsumgebung, mit der du unter allen Versionen von Windows programmieren kannst. Android Studio macht es auch möglich, Smartphones und Tablets zu simulieren und damit alle Apps erst mal auf dem PC unter Windows zu testen.

Wie man Android Studio und Java aus dem Internet holt und installiert, erfährst du in Anhang A.

Und was bietet dieses Buch?

Über eine ganze Reihe von Kapiteln verteilt lernst du

Im Anhang gibt es dann noch zusätzliche Informationen und Hilfen, u.a. über Installationen und den Umgang mit Fehlern.

Wie arbeite ich mit diesem Buch?

Grundsätzlich besteht dieses Buch aus einer Menge Text mit vielen Abbildungen dazwischen. Natürlich habe ich mich bemüht, alles so zuzubereiten, dass daraus lauter gut verdauliche Happen werden. Damit das Ganze noch genießbarer wird, gibt es zusätzlich noch einige Symbole, die ich dir hier gern erklären möchte:

Arbeitsschritte

Grundsätzlich lernt man besser, wenn man einen Programmtext selbst eintippt oder ändert. Aber nicht immer hat man große Lust dazu. Deshalb gibt es alle Projekte im Buch auch als Download:

http://www.mitp.de/899

Und hinter einem Programmierschritt findest du auch den jeweiligen Namen des Projekts oder einer Datei (z.B. GameView.java). Wenn du also das Projekt nicht selbst erstellen willst, kannst du stattdessen den passenden Ordner laden (zu finden im Download-Paket).

Aufgaben

Am Ende eines Kapitels findest du jeweils eine Reihe von Fragen und Aufgaben. Diese Übungen sind nicht immer ganz einfach, aber sie helfen dir, noch besser zu programmieren. Lösungen zu den Aufgaben findest du in verschiedenen Formaten ebenfalls im Verzeichnis Projekte. Du kannst sie dir alle im Editor von Windows oder auch in deinem Textverarbeitungsprogramm anschauen. Oder du lässt sie dir ausdrucken und hast sie dann schwarz auf weiß, um sie neben deinen Computer zu legen. (Auch die Programme zu den Aufgaben findest du im Download-Paket.)

Notfälle

[Bild]

Vielleicht hast du irgendetwas falsch gemacht oder etwas vergessen. Oder es wird gerade knifflig. Dann fragst du dich, was du nun tun sollst. Bei diesem Symbol findest du eine Lösungsmöglichkeit. Notfalls kannst du aber auch ganz hinten im Anhang B nachschauen, wo einige Hinweise zur Pannenhilfe aufgeführt sind.

Wichtige Stellen im Buch

[Bild]

Hin und wieder findest du ein solch dickes Ausrufezeichen im Buch. Dann ist das eine Stelle, an der etwas besonders Wichtiges steht.

Expertenwissen

[Bild]

Wenn du ein solches »Wow« siehst, geht es um ausführlichere Informationen zu einem Thema.

Was brauchst du für dieses Buch?

Installiert wird Java in ein Verzeichnis deiner Wahl, z.B. C:\Programme\Java. Auch Android Studio muss installiert werden und auch hier kannst du das Verzeichnis selbst bestimmen, z.B. C:\Programme\Android. Zusätzlich empfiehlt es sich, auf einem anderen Laufwerk einen Arbeitsordner für die Projekte einzurichten, z.B. D:\Projekte.

Die Beispielprogramme in diesem Buch gibt es alle als Download von der Homepage des Verlages, falls du keine Lust zum Abtippen hast:

http://www.mitp.de/899

Und auch die Lösungen zu den Fragen und Aufgaben sind dort untergebracht.

Betriebssystem

Die meisten Computer arbeiten heute mit dem Betriebssystem Windows. Davon brauchst du eine Version zwischen 7 und 10. Außerdem wäre es gut, ein Smartphone oder Tablet mit Android zur Hand zu haben. Du kannst aber auch nur einen Emulator von Android Studio benutzen. Er reicht für die Mehrzahl der Projekte aus (es gibt aber einige wenige, die nur mit dem Smartphone oder Tablet funktionieren).

Speichermedien

Auf jeden Fall benötigst du etwas wie einen USB-Stick oder eine SD-Card, auch wenn du deine Programme auf die Festplatte speichern willst. Auf einem externen Speicher sind deine Arbeiten auf jeden Fall zusätzlich sicher aufgehoben.

Gegebenenfalls bitte deine Eltern oder Lehrer um Hilfe.

Hinweise für Lehrer

Dieses Buch lässt sich natürlich auch für den Informatik-Unterricht verwenden. Dort setzt natürlich jeder Lehrer seine eigenen Schwerpunkte. Benutzen Sie an Ihrer Schule bereits ein Werk aus einem Schulbuchverlag, so können Sie dieses Buch in Ergänzung zu dem vorhandenen Schulbuch einsetzen. Weil wir hier sozusagen »bei null« beginnen, ist auch ein direkter Einstieg in Java möglich – ohne irgendwelche anderen Programmierkenntnisse.

Der wesentliche Schwerpunkt in diesem Buch ist die Programmierung für das vor allem bei Smartphones weitverbreitete Betriebssystem Android. Dabei kommt auch die objektorientierte Programmierung nicht zu kurz.

In den Projekten werden die wesentlichen Elemente des Java-Wortschatzes wie auch die wichtigsten Komponenten für eine Android-Applikation (App) eingesetzt. In den Lösungen zu den Aufgaben finden Sie weitere Vorschläge zur Programmierung.

Auf die Dateien zum Buch verzichten?

Vielleicht ist es Ihnen lieber, wenn Ihre Schüler die Projekte alle selbst erstellen. Dann lassen Sie die Download-Dateien einfach (erst einmal) weg.

Übungsmedien

Für den Informatik-Unterricht sollte jeder Schüler ein anderes externes Speichermedium haben, um darauf seine Programmierversuche zu sichern. So wird verhindert, dass sich auf der Festplatte des Schulcomputers mit der Zeit allerlei »Datenmüll« ansammelt. Außerdem dient der eigene Datenträger dem Datenschutz: Nur der betreffende Schüler kann seine Daten manipulieren.

Regelmäßig sichern

Es kann nicht schaden, die Programmdateien, an denen gerade gearbeitet wird, etwa alle zehn Minuten zu speichern. Denn Computer pflegen gern gerade dann »abzustürzen«, wenn man seine Arbeit längere Zeit nicht gespeichert hat. In der Regel aber sorgt Android Studio dafür, dass bei Programmschluss alles gespeichert ist.

Kapitel 1:
Willkommen in Android Studio

Du willst gleich loslegen? Dein Smartphone brauchst du dazu erst mal nicht, aber einen Windows-PC. Auf dem entwerfen wir dann gemeinsam dein erstes Programmprojekt. Wunder darfst du dabei nicht erwarten, es wird sicher nicht so bunt wie die fast schon unzählbaren Apps, die man aus dem Play Store herunterladen kann. Aber wir sind ja erst ganz am Anfang. Und für das allererste Mal gibt es viel zu tun.

In diesem Kapitel lernst du

Android Studio starten

‌Bevor wir mit dem Programmieren anfangen können, muss das Entwicklungssystem Android Studio installiert werden. Genaues erfährst du im Anhang A. Hier solltest du dir von jemandem helfen lassen, wenn du dir das Einrichten nicht allein zutraust.

Eine Möglichkeit, Android Studio zu starten, ist diese:

[Bild]

Dort musst du nun weiter in einen Unterordner mit dem Namen BIN wechseln:

[Bild]

Hier suchst du unter den vielen Symbolen eines der grünen heraus, und zwar das mit dem Namen studio.exe.

[Bild]

Falls es ein zweites mit dem Namen studio64.exe gibt, kannst du auch das ausprobieren. Doch das funktioniert nicht auf jedem PC, hier muss die sogenannte 64-Bit-Version von Windows installiert sein.

[Bild]

Ich empfehle dir, eine Verknüpfung auf dem Desktop anzulegen:

  • Dazu klickst du mit der rechten Maustaste auf das Symbol für Android Studio (studio.exe). Im Kontextmenü wählst du Kopieren.

  • Dann klicke auf eine freie Stelle auf dem Desktop, ebenfalls mit der rechten Maustaste. Im Kontextmenü wählst du Verknüpfung einfügen.

  • Es ist sinnvoll, für das neue Symbol auf dem Desktop den Text studio.exe – Verknüpfung durch Android Studio zu ersetzen.

Von nun an kannst du auf das neue Symbol doppelklicken und damit Android Studio starten.

[Bild]

Beim ersten Start kann es sein, dass dich noch ein Überbleibsel von der Installation erwartet.

Ein Setup Wizard‌ informiert dich über einige installierte Elemente (die du zum Teil später noch kennenlernen wirst).

Je nach Computer kann es eine Weile dauern, bis Android Studio geladen ist. Einige Zeit später landest du in einem Willkommen-Fenster.

[Bild]

[Bild]

Du möchtest gern gleich mit einem neuen Projekt beginnen? Das könntest du mit einem Klick auf Start a new Android Studio project direkt in die Wege leiten.

Besser aber ist es, wir leisten noch ein bisschen Vorarbeit.

[Bild]

Um ein Android-Projekt zu erstellen und zum Laufen zu bringen, benötigen wir die Hilfe von zwei Managern:

  • ‌Der Software Development Kit (SDK) Manager stellt die nötigen Elemente des Betriebssystems Android zur Verfügung. Davon gibt es ja inzwischen einige Versionen. Und wenn wir für möglichst viele Smartphones programmieren wollen, brauchen wir nicht nur die neueste, sondern auch einige der älteren Versionen.

  • ‌Der Android Virtual Device (AVD) Manager bietet die geeigneten Smartphone-Emulationen (das heißt, er sorgt dafür, dass die jeweiligen Smartphones unter Windows künstlich nachgeahmt werden). Natürlich gibt es auch Emulationen für Tablets und andere Geräte.

Android Studio hat bei der Installation schon dafür gesorgt, dass die wichtigsten Pakete mitinstalliert wurden. Aber das heißt nicht, dass ein Projekt sofort reibungslos läuft. Denn es gibt noch deutlich mehr Pakete im Angebot, und einige davon werden zusätzlich benötigt. Um selbst zu bestimmen, was letztendlich installiert ist, brauchen wir beide Manager. Dann können deine Apps störungsfrei laufen.

Der SDK Manager

[Bild]

[Bild]

Es öffnet sich ein neues Zusatzfenster. (Möglicherweise wird noch einiges geladen, ehe es dir zur Verfügung steht.)

[Bild]

‌Unter der Option Android SDK kannst du dir nun die Android-Versionen aussuchen, für die du deine Apps programmieren willst. Bedenke, dass es bis zu einer Stunde (und länger) dauern kann, bis alles heruntergeladen und installiert ist. Ich habe mich entschieden, alle älteren Versionen mindestens ab 5.0 (Level 21) zu bedienen, musste dafür jedoch teilweise sehr lange warten.

Nun musst du noch die Lizenz-Bestimmungen absegnen.

[Bild]

[Bild]

‌ ‌Da die Pakete (Packages) für die SDK Tools aus dem Internet geladen werden, ist nun eine Internet-Verbindung nötig. Es wird immer das angezeigt, was gerade aktuell ist, deshalb kann das, was du siehst, von der Abbildung im Buch abweichen.

So wie Windows seine Versionsnummer hat, gibt es so etwas natürlich auch bei Android. Weil die meisten sich nicht jedes Jahr ein neues Smartphone oder Tablet kaufen, sind Versionen ab 5.0 noch sehr verbreitet. Du kannst natürlich auch alle Versionen auswählen, womit sich auch sehr viel ältere Smartphones bedienen lassen.

In einem neuen Fenster kannst du die langwierigen Downloads und Installationen mitverfolgen, wenn du willst.

[Bild]

Und du landest wieder im Willkommen-Fenster von Android Studio.

[Bild]

Der SDK Manager lässt sich auch über das Tools-Menü starten:

[Bild]

Ein neues Projekt erzeugen

Und nun kannst du endlich in dein erstes Projekt einsteigen.

[Bild]

Ein neues Dialogfeld mit dem Titel Create New Project erscheint und fordert dich heraus. Dann musst du etwas eingeben und gleich eine weitere Entscheidung treffen.

[Bild]

Zuerst braucht dein Projekt einen Namen. Du kannst natürlich My Application stehen lassen, doch ich empfehle dir, stets einen eigenen neuen Namen zu vergeben. Nennen wir das erste Projekt einfach Projekt1, auch weil wir noch nicht wissen, was genau die App, die nachher herauskommt, macht.

[Bild]

Weiter unten wird das Verzeichnis angezeigt, in dem dein Projekt untergebracht werden soll. Im Allgemeinen bietet Android Studio einen Platz im Benutzer-Ordner auf Laufwerk C: an. Ich schlage vor, die Projektdateien in einem anderen Laufwerk und Ordner unterzubringen.

Dazu könntest du einen weiteren Ordner in D:\Android mit dem Namen Projekte erstellen. Wenn dir das zu umständlich ist, lasse einfach den angebotenen Speicherort hinter Project location stehen.

[Bild]

Im folgenden Fenster genügt es, wenn ein Haken vor Phone and Tablet steht. Wir wollen eine App (= Applikation) für Smartphones entwickeln, aber wenn das Ding auch auf einem Tablet läuft, umso besser (an anderen Geräten sind wir derzeit nicht interessiert).

[Bild]

[Bild]

Da nicht alle Smartphones mit den neuesten Versionen von Android versorgt werden, ist es sinnvoll, ein Projekt für eine (etwas) frühere Android-Version zu entwickeln. So läuft deine App auf möglichst vielen (auch älteren) Smartphones.

Auf jeden Fall laufen sämtliche Apps, die für ältere Android-Versionen entwickelt wurden, auch auf allen neuen Smartphones.

Wichtig ist: Für die eingestellte Version muss das exakte SDK installiert sein. Notfalls musst du also noch mal den SDK Manager bemühen, um Fehlendes nachträglich zu installieren.

Und nun geht es um die Activity‌. So nennt man ein Benutzerinterface.‌ Das ist die Verbindungsstelle zwischen dem Benutzer (z.B. dir) und einem Smartphone. Vereinfacht kann man hier sagen: ein Fenster auf dem Display. Also quasi der Rahmen für die Aktivitäten einer App. Du solltest dich hier für eine »Empty Activity« entscheiden, also sozusagen ein »Fenster mit nix drin«.

[Bild]

Auch im folgenden Fenster kannst du alles für dein aktuelles Projekt so stehen lassen.

[Bild]

Nun beginnt Android Studio, deine Einstellungen zu verarbeiten. Das kann eine Weile dauern.

[Bild]

Was dich dann erwartet, könnte etwa so oder ähnlich aussehen:

[Bild]

‌Für den ersten Augenblick mag das ein bisschen sehr verwirrend sein. Doch fangen wir ganz oben an. Dort sitzt die Menüleiste. Darunter befinden sich mehrere Symbole, die man mit der Maus anklicken kann.

[Bild]

‌Von den vielen Menüs wirst du wahrscheinlich diese am meisten benutzen:

Unter dem Menübereich erwarten dich ein paar Fensterabschnitte:

[Bild]

‌Möglicherweise gibt es bei dir ebenso wie bei mir gleich zu Anfang Fehlermeldungen. Von Gradle und Build Tools kann da die Rede sein.

[Bild]

[Bild]

Im Falle einer solchen Meldung klickst du unten auf Install Build Tools, danach werden einige Updates ausgeführt.

Anschließend kommt die Meldung, dass Android Studio erneut versucht, ein funktionierendes Programm zu erstellen.

[Bild]

Und anschließend wird ein erfolgreicher Abschluss gemeldet.

Der AVD Manager

Haben wir etwa schon ein Programm bzw. eine App?

[Bild]

Nach einer Weile bekommst du dieses Dialogfeld zu sehen:

[Bild]

Mit »No USB devices« ist gemeint, dass offenbar kein Smartphone oder Tablet per USB am Computer angeschlossen ist. Und das »none« unter Connected Devices weist darauf hin, dass auch kein Smartphone emuliert wird. Ansonsten ist darunter gähnende Leere.

[Bild]

‌Später werden wir direkt ein Smartphone an den PC anschließen, um unsere Apps auch dort zu testen. Jetzt aber brauchen wir ein virtuelles (also un-echtes) Gerät, das so tut, als sei es ein Smartphone (genau das tut ein Emulator).

Wir müssen also nur ein solches Gerät, genannt Android Virtual Device (kurz: AVD)‌ finden und das aktivieren.

[Bild]

Und schon erscheint ein neues Dialogfeld mit dem Titel Select Hardware. Hier findest du unter Phone eine ganze Reihe von Smartphones, die offenbar unter Android Studio emuliert werden können.

[Bild]

Und schon landest du im nächsten Dialogfeld mit dem Titel System Image.

[Bild]

Hier wählst du eines der Android-Systeme aus der Liste. Was darin steht, hängt auch davon ab, wie viel du mit dem SDK Manager installiert hast.

Anschließend sollte das System deiner Wahl markiert sein.

[Bild]

Und damit bist du fast fertig.

[Bild]

Und damit landest du wieder am Anfang. Nun hast du eine Liste mit einem neuen Emulator. (Diese Liste kannst du natürlich später beliebig erweitern.)

[Bild]

[Bild]

Der AVD Manager lässt sich auch über das Tools-Menü starten:

[Bild]

Die Emulation starten

Und nun wollen wir schauen, ob wir unser erstes Programm zum Laufen kriegen.

[Bild]

Das letzte Dialogfeld öffnet sich erneut.

Kurz darauf tut sich ein weiteres, diesmal eindrucksvoll großes bzw. hohes Fenster auf, das wie ein Smartphone aussieht.

[Bild]

[Bild]

Und nun kann es viele Minuten dauern, bis das Android-System sich »aufgerappelt« hat. Das ist so ähnlich, als wenn du dein Smartphone komplett ausgeschaltet hast und neu startest. Also ist Geduld gefragt. (Aber die hast du ja bis jetzt ohnehin bewiesen.)

Warten wir jetzt erst einmal gelassen, bis das Emulations-Fenster so oder ähnlich aussieht:

[Bild]

Obwohl wir in Sachen Programmierung noch keinen Finger gerührt haben, erscheint hier schon ein Gruß an alle Welt (auf Englisch).

[Bild]

Früher oder später willst du natürlich deine Apps auf dem Smartphone testen. Wie das funktioniert, steht in Anhang B.

Android Studio beenden

‌Das erste Projekt ist erstellt und gelaufen. Was will man bei diesem Aufwand mehr? Natürlich willst du mehr, doch jetzt solltest du für eine Pause erst mal Android Studio verlassen.

Das geht in zwei Schritten. Neben dem Smartphone siehst du eine Steuer-Leiste. Mit Klick auf das Symbol für Power schaltest du das emulierte Smartphone aus.

[Bild]

[Bild]

Damit musst du beim nächsten Mal nicht mehr so lange warten, bis der Emulator gestartet ist.

In einem weiteren Meldefenster wird noch einmal nachgefragt:

[Bild]

Zusammenfassung

Eine eigene App. Dieses Ziel haben wir hier nicht erreicht. Noch nicht. Aber du hast schon mal einen ersten Eindruck über die Arbeit mit Android Studio gewonnen. Aller Anfang ist schwer? Hier passt es, doch der erste Hürdenlauf ist geschafft.

Du weißt jetzt etwas über

Du weißt, dass du eine Activity, ein Benutzerinterface als Aktionsrahmen für dein Projekt brauchst. Und du kennst schon ein paar Operationen im Umgang mit Android Studio:

Android Studio starten

Doppelklicke auf das Symbol für Android Studio. Oder klicke auf Start/Ausführen und tippe den kompletten Pfad für STUDIO.exe ein.

SDK Manager starten

Klicke auf Tools/SDK Manager.

AVD Manager starten

Klicke auf Tools/AVD Manager.

App-Projekt starten

Klicke auf Run/Run 'app'.

Hilfesystem aufrufen

Klicke auf Help.

Android Studio beenden

Klicke auf File/Exit.

Zwei Fragen …

  1. Was bedeuten SDK und AVD?

  2. Was ist eine Activity?

… aber noch keine Aufgaben

Kapitel 2:
Das erste eigene Projekt

Im ersten Kapitel hast du eine Menge arbeiten müssen, herausgekommen ist dabei eigentlich so gut wie nichts, oder? Jedenfalls keine eigene App. Denn das mickrige »Hello World« stammt ja nicht mal von dir.

Doch dass du dich im letzten Kapitel so ins Zeug gelegt hast, wird sich hier auszahlen. Wir machen das Projekt zu deinem Projekt. Und du bekommst einen Einblick in das »System«, das hinter deinen Projekten steckt.

In diesem Kapitel lernst du

Design und Layout

‌‌Nun solltest du deinem ersten Projekt auch einen eigenen Stempel aufdrücken. Dazu musst du wieder hinein in die Arbeitsumgebung von Android Studio.

Und einige Zeit darauf landest du ohne große Umschweife direkt in deinem Projekt.

[Bild]

‌Android Studio speichert deine Projekte automatisch. Das, was du zuletzt gemacht hast, bevor du Android Studio verlässt, das erwartet dich beim nächsten Start.

‌Du kannst aber auch selbst alles speichern, wenn du auf Nummer sicher gehen willst: Dazu klickst du auf File und dann auf Save All.

[Bild]

Du siehst im Hauptfenster von Android Studio eine für dich vielleicht fremde Ansammlung von Text, auch Quelltext‌ genannt. Der wird dir wohl nur etwas sagen, wenn du schon mal programmiert hast.

[Bild]

Oben siehst du zwei Reiter mit den Namen activity_main.xml und ActivityMain.java. Damit sind auch die Programmiersprachen gekennzeichnet, die wir hier benutzen: XML und Java. Mit beiden werden wir uns im Laufe dieses Buches intensiver befassen. Offenbar gibt es also zwei Fenster mit zwei Quelltexten, die beide für unser Programm zuständig sind.

[Bild]

Da steht dann schon eine ganze Menge mehr Text. Und wenn du etwas genauer hinschaust, dann wirst du irgendwo auch eine Zeile entdecken, in der dieses steht:

android:text="Hello World"

Ob das die Stelle ist, an der wir »Hello World« durch einen anderen Satz ersetzen können? Zum Beispiel mit »Hallo, wie geht es«?

Ehe du nun versuchst, einfach den Textteil Hello World direkt an Ort und Stelle durch einen anderen zu ersetzen, lassen wir hier lieber erst mal alles, wie es ist. Denn am Quelltext selbst sollte nur der »operieren«, der sich wirklich schon mit dem Programmieren auskennt. Und das tust du derzeit noch nicht.

Um am Projekt etwas zu ändern, wechseln wir besser in einen anderen Arbeitsbereich.

[Bild]

Und du landest in einem Bereich, in dem du direkt die Oberfläche deiner App beeinflussen kannst.

[Bild]

Es ist ratsam (aber nicht unbedingt nötig), hier gleich ein paar Änderungen vorzunehmen:

In der Leiste oberhalb des »Smartphone-Displays« siehst du den Eintrag Nexus (vielleicht steht da auch etwas anderes).

[Bild]

Daneben gibt es die Möglichkeit, die Android-Version (als Nummer) einzustellen, in der das ganze Layout erscheinen soll.

[Bild]

Bei dir war beim Start das linke Display leer? Eigentlich müsste man in der Darstellung den Text "Hello World" in der Mitte sehen. Wenn nicht, musst du das Erscheinungsbild ändern.

[Bild]

Im folgenden Dialogfenster werden dir zahlreiche Layouts angeboten, von denen in der Abbildung nur einige wenige aufgeführt sind.

[Bild]

Bei mir hat das Ganze jetzt dieses Aussehen:

[Bild]

[Bild]

Anschließend siehst du nur noch ein Display, die blaue Fläche daneben ist verschwunden.

Von Hello zu Hallo

‌Was uns jetzt interessiert, ist der Eintrag TextView „Hello World!“ im kleinen Component-Tree-Fenster unten links.

[Bild]

‌Im Fenster ganz rechts findest du ein Schema für die Position der Textanzeige und darunter einige Einträge. Das ist die Attributes-Liste. Wir kümmern uns jetzt um die Zeile, in der links text und rechts daneben Hello World steht.

[Bild]

Es erscheint ein Dialogfeld mit dem Titel Resources. Es ist eigentlich deutlich größer als die Abbildung und auf der linken Seite stehen zahlreiche Einträge untereinander, die dich aber aktuell nicht interessieren müssen.

[Bild]

Nun erscheint ein Fenster mit dem Titel New String Value Resource. Hier kannst du einen Namen und einen Wert für den neuen Text eingeben.

[Bild]

[Bild]

Unter einer Ressource (engl. Resource) versteht man eine Sammlung von Daten und Objekten (wie z.B. Zahlen, Texte und Bilder). Und mit String‌ ist eine Zeichenkette gemeint. Ein Text ist eine solche Zeichenkette.

[Bild]

Dein neuer String taucht nun in der Anzeige auf.

[Bild]

[Bild]

‌Wenn du deinen Text etwas größer angezeigt haben willst, kannst du hinter textAppearance von Small auf Large umstellen. Da gibt es noch mehr Möglichkeiten.

[Bild]

Probieren wir jetzt aus, ob unser Projekt mit dem neuen String zurechtkommt.

[Bild]

Sorge dafür, dass dein Emulator markiert ist, und klicke auf OK.

[Bild]

Nun heißt es wieder eine Weile warten, bis endlich die Anzeige erscheint, die von dir stammt: der Satz »Hallo, wie geht es?« ( Projekt1).

[Bild]

Damit du den Emulator nicht immer neu starten musst, kannst du ihn auch einfach laufen lassen. Wechsle direkt in das Hauptfenster von Android Studio. Dort geht es jetzt weiter.

Gut oder Schlecht

Der Anzeigetext »Hallo, wie geht es?« verlangt nach einer Antwort. Das heißt, derjenige, der diese App benutzt, sollte auch die Möglichkeit haben, darauf zu antworten. Am besten ganz einfach per Fingertipp.

Dazu brauchen wir eine neue Komponente, die Button‌ genannt wird. Man sagt auch Schaltfläche‌. Und viele sprechen einfach von einem Knopf. Wichtig ist, dass man diesen Bereich mit dem Finger antippen bzw. im Emulator mit der Maus anklicken kann.

Eine Komponente kennst du ja schon: das Anzeigefeld oder Textfeld‌, auch TextView‌ genannt. Das ist die Fläche, in der der Text »Hallo, wie geht es?« angezeigt wird.

[Bild]

Unter Komponenten‌ versteht man Objekte, die in der Regel zur Bedienung von Programmen verwendet werden, also z.B. Schaltflächen (Buttons) und Textfelder (TextViews). In Android Studio sind die Basis-Komponenten als Widgets‌ zusammengefasst.

Und was sind Objekte‌? Eigentlich sind das doch diese Dinger, die ständig irgendwo herumstehen oder sich um uns herumbewegen. Also z.B. Häuser, Bäume, Autos, Leute. Auch du bist ein Objekt. Und zwar vom Typ Mensch. Objekte in einer Programmiersprache wie Java sind natürlich nur künstlich. Du wirst mit der Zeit nach und nach einige Objekte kennenlernen.

Bevor du eine neue Komponente einsetzt, solltest du erst einmal die bereits vorhandene verschieben. Und zwar nach oben.

[Bild]

[Bild]

Du siehst bereits angedeutet, wo der Button platziert wird, er lässt sich durch die Mausbewegung nach oben oder unten verschieben.

[Bild]

Und es gibt eine neue Komponente mit der Aufschrift »Button«. Weil uns eine Antwort nicht reicht, wiederholen wir das Ganze jetzt gleich noch mal.

Nun müsste es bei dir etwa so aussehen:

[Bild]

Klar, dass wir die Aufschriften »Button« nicht so stehen lassen können. Also sollten wir sie schleunigst ersetzen. Ich schlage vor, wir bieten die klassischen Antworten »Gut« und »Schlecht« an.

[Bild]

‌Es erscheint das dir schon bekannte Dialogfeld mit dem Titel Resources, dort steht ja unter anderem auch dein Begrüßungs-String Hallo_Frage in der Liste.

[Bild]

Im nächsten Fenster mit dem Titel New String Value Resource wird nun wieder ein Name und ein Wert für den neuen Text verlangt.

[Bild]

[Bild]

Immer wenn du einen besseren Namen für die Ressource findest als ich, benutze ihn!

Sobald du zurück im Hauptfenster von Android Studio bist, zeigt der linke Button auch schon seine neue Aufschrift.

[Bild]

Wenn dir das gelungen ist, dürfte es auch in deinem Projekt so aussehen:

[Bild]

Nun spricht nichts dagegen, das Projekt in seinem jetzigen Zustand einmal über den Emulator zu schicken ( Projekt1).

Diesmal geht es etwas flotter, weil der Emulator bereits im Hintergrund lauert.

Etwas später bekommst du ein solches Bild:

[Bild]

[Bild]

Wenn nur der Startbildschirm im Emulator erscheint, kann es helfen, wenn man das »Gerät« einfach mal aus- und wieder anschaltet.

[Bild]

Danach sollte die neueste Version deines Projekts aktiv und sichtbar werden.

Überzeugend sieht es bei mir nicht aus, eher so, als hätten sich die beiden Buttons ineinander verhakt. Es kann auch sein, dass beide Buttons ganz oben links in der Ecke »hängen«. Mal schauen, was sich da machen lässt.

[Bild]

Hier lässt sich einstellen, wie weit eine Komponente vom Display-Rand entfernt sein darf bzw. muss. Ich habe für meine Buttons diese Werte gewählt:

[Bild]

[Bild]

Die Maßeinheit für diese Werte ist dp‌. Das ist die Abkürzung für »Density-independent Pixels«. Ein Pixel‌ ist ein farbiger Punkt auf dem Display. Von der Auflösung hängt es ab, wie viele Punkte es gibt.

Als Basis benutzt man eine Punktdichte von 160 Punkten pro Zoll, das sind etwa 63 Pünktchen pro Zentimeter. Dann ist ein dp genau ein Bildpunkt. Geht es um Smartphones oder Tablets mit einer anderen Auflösung, dann wird die dp-Größe von Android automatisch umgerechnet und deine Schrift entsprechend angepasst.

Wir werden später auch dp für die Maße von Buttons verwenden. Für die Schrift gibt es mit sp‌ noch eine weitere Maßeinheit (sp kürzt »Scale-independent Pixels« ab). Diese orientiert sich zusätzlich an den Einstellungen, die ein Benutzer auf seinem Gerät vorgenommen hat.

Nun sollte das Ganze nach einem erneuten Start etwa so aussehen:

[Bild]

[Bild]

‌Wie du siehst, hängen die Komponenten bei diesem Layout (Constraint) irgendwie zusammen, sind quasi durch (unsichtbare) Fäden miteinander verbunden. Was bedeuten kann, dass beim Verschieben einer Komponente sich andere mitbewegen.

In einer Leiste mit Layout-Symbolen lassen sich diese Verbindungen komplett entfernen oder auch neue herstellen.

[Bild]

Über andere Symbole kannst du Komponenten unter anderem ausrichten. Auch gibt es im rechten Bereich zahlreiche weitere Einstellungsmöglichkeiten. Das ganze Layout-System ist nicht einfach zu verstehen. Da hilft nur viel Herumprobieren.