20,99 €
Sie wollen programmieren lernen, um eigene Apps für Ihr Android-Gerät zu entwickeln? Dann sind Sie hier richtig. Dieses Buch ist drei Bücher in einem: Sie lernen Java, begreifen die objektorientierte Programmierung und erhalten eine Einführung in die Android-App-Entwicklung. Wichtige Themen wie die Ansteuerung des Displays oder der Umgang mit der Grafik, den Sensoren und GPS werden Ihnen an kleinen Apps vorgeführt. Nebenher erfahren Sie noch so einiges über die Spieleprogrammierung und sogar, wie Sie JSON-Daten aus dem Internet in eine App einbinden. Freuen Sie sich auf die spannende Reise, die vor Ihnen liegt!
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 386
Android-Apps programmieren lernen für Dummies
Android-Studio startet die Apps über die folgenden Tastaturkürzel:
+ : App starten + : Änderungen übernehmen und App neu starten + : Debug startenIm Debug-Modus wirken folgende Shortcuts:
: Step-over. Springt über die aktuelle Zeile, auch wenn sie einen Methodenaufruf enthält. : Step-into. Springt in die Methode, über deren Aufruf der Debugger gerade steht. + : Step-out. Verlässt die aktuelle Methode, in der der Debugger steht. : Weiterlaufen (Resume). Die schrittweise Ausführung wird aufgelöst. Das Programm läuft bis zum nächsten Breakpoint. + : Beende das Programm.Im Editor gibt es
+ : Suche Verwendung + + : zum letzten Bearbeitungspunkt zurück + + : markierten Code korrekt einrücken + : markierten Code kommentieren oder entkommentierenEine Variable beginnt mit dem Typnamen gefolgt von dem Variablennamen. Befehle in Java schließen mit Semikolon ab. Optional kann auch eine Initialisierung der Variablen erfolgen. Mehrere Variablen gleichen Typs können in einer Anweisung definiert werden, müssen dann aber durch Kommata getrennt werden.
Eine Abfrage prüft eine Bedingung und führt die nachfolgende Anweisung beziehungsweise den nachfolgenden Block nur aus, wenn die Bedingung zutrifft. Optional kann ein Zweig erstellt werden, der ausgeführt wird, wenn die Bedingung nicht zutrifft.
Eine while-Schleife wiederholt die zugehörige Anweisung beziehungsweise den nachfolgenden Block, solange die Bedingung erfüllt ist.
Eine for-Schleife enthält in ihrer Klammer eine Startanweisung zur Initialisierung, die einmal vor Betreten der Schleife ausgeführt wird. Es folgt die Bedingung, unter der die Schleife läuft. Im letzten Element der Klammer steht die Schlussanweisung, die am Ende jedes Durchlaufs ausgeführt wird.
Der Canvas ist die Zeichenfläche, die typischerweise als Parameter der Methode onDraw übergeben wird. Die Klasse bietet folgende Methoden zum Zeichnen.
drawLine zieht eine Linie von der Koordinate (xStart, yStart) zur Koordinate (xEnde, yEnde).
drawRect zeichnet ein gefülltes Rechteck von der Koordiante links oben zur zweiten Koordinate rechts unten.
drawText zeichnet den Inhalt von text als Text an die Koordinate (xStart, yStart). Die Position ist die linke untere Ecke des Strings. Ist yStart 0, ist die Schrift nicht zu sehen, da sie oberhalb des Canvas landet, der seinen Nullpunkt links oben hat.
drawCircle zeichnet einen Kreis mit dem Mittelpunkt an der Koordinate (xStart, yStart). Als weiterer Parameter wird der Radius, also der halbe Durchmesser angegeben.
Android-Apps programmieren lernen für Dummies
Bibliografische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.
© 2022 Wiley-VCH GmbH, Boschstraße 12, 69469 Weinheim, Germany
Wiley, the Wiley logo, Für Dummies, the Dummies Man logo, and related trademarks and trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries. Used by permission.
Wiley, die Bezeichnung »Für Dummies«, das Dummies-Mann-Logo und darauf bezogene Gestaltungen sind Marken oder eingetragene Marken von John Wiley & Sons, Inc., USA, Deutschland und in anderen Ländern.
Das vorliegende Werk wurde sorgfältig erarbeitet. Dennoch übernehmen Autoren und Verlag für die Richtigkeit von Angaben, Hinweisen und Ratschlägen sowie eventuelle Druckfehler keine Haftung.
Coverfoto: © elenabsl – stock.adobe.comKorrektur: Matthias Delbrück, Dossenheim/Bergstraße
Print ISBN: 978-3-527-71880-1ePub ISBN: 978-3-527-83458-7
Arnold V. Willemer hat an der Universität Frankfurt/Main sein Diplom in Informatik abgelegt. Anschließend hat er viele Jahre als Software-Entwickler gearbeitet. Seit 2016 ist er an der Hochschule Flensburg tätig, vor allem in den Bereichen Programmierung und Netzwerke.
Seit 2001 schreibt er Bücher zu den verschiedensten Informatikthemen, etwa Programmiersprachen wie Java, C++ oder Python. Aber er befasst sich auch gern mit Betriebssystemen und Netzwerken. Vor allem interessieren ihn da UNIX und Linux. Leider kam er nie in die engere Wahl für den Literatur-Nobelpreis und auch auf den Friedenspreis des Deutschen Buchhandels wartet er seit Jahren vergeblich.
Tatsächlich motiviert ihn die Aussicht auf Preise weniger als die Herausforderung, komplexe Themen Anfängern möglichst leicht verständlich in leicht zu bewältigenden Schritten nahezubringen.
Meine Lektorin Andrea Baulig musste sehr viel Geduld aufbringen, weil ich mehrere Anläufe benötigte, bis ich es schaffte, alles verständlich in die richtige Reihenfolge zu bringen. Und obwohl ich einen Abgabetermin gerissen habe, blieb sie erstaunlich ruhig.
Cover
Titelblatt
Impressum
Über den Autor
Einleitung
Konventionen in diesem Buch
Törichte Annahmen über den Leser
Wie dieses Buch aufgebaut ist
Symbole, die in diesem Buch verwendet werden
Wie es weitergeht
Teil I: Werkzeugbeschaffung und Einrichtung
Kapitel 1: Entwicklungsumgebung
Anforderungen an den Entwickler-PC
Smartphone oder Tablet
Gestatten: Android Studio
Weitere Hilfen aus dem Internet
Kapitel 2: Das »leere« Projekt von Android Studio
Die erste App
Übersicht über die IDE
Android Virtual Device Manager
Emulator starten
Falsche SDK-Version
Nichts anfassen, nur gucken
Teil II: Wir programmieren
Kapitel 3: Eine Mini-App für die ersten Programmierschritte
Erste eigene Programmschritte
Variablen und Typen
Ausgabe von Ergebnissen
Eingaben zu Ausgaben verrechnen
Eigene Projekte
Kapitel 4: BMI: Abfragen und Schleifen
Das Layout für Ihre BMI-App
Abfragen in Java
Java bringt Leben in den BMI
Texte statt BMI-Werte
Automatische Neuberechnung bei Eingabe
Eine neue Methode zur Berechnung des BMI
Eigene Projekte
Kapitel 5: Lotto: Zufall, Arrays und Schleifen
Arrays in Java
Zufällige Lottozahlen
Eine Würfel-App
Java-Schleifen
Sortieren
Darstellen der Lottozahlen in der ListView
Eigene Projekte
Kapitel 6: Brüche in Klassen
Klasse
Die Klasse als Datenstruktur
Methoden zur Multiplikation
Konstruktoren der Klasse Bruch
Der Destruktor und die Müllabfuhr
Private Attribute
Erweiterte Erbschaft
Abstrakte Klassen und Interfaces
Packages und Importe
Eigene Projekte
Teil III: Ein eigenes grafisches Spiel
Kapitel 7: Das Spiel Minesweeper als View
Das Spiel Minesweeper
Das Minesweeper-Projekt
Eine eigene View
Grafik in der View mit onDraw
Wir zeichnen ein Spielfeld
OnTouchListener reagieren auf Tatschen
Die Spiellogik
Ein Button für ein neues Spiel
Markieren
MineSweeperView meldet Spielende
Das gedrehte Display
Eigene Projekte
Kapitel 8: Die Highscore-Liste
Chronometer: Die tickende TextView
Der Name des Spielers
Zeit und Datum des Triumphs
Die Highscore-Liste in der Datenbank
Mit dem Menü zur Highscore-Liste
Anzeige der Highscore-Liste
Eigene Projekte
Teil IV: Wechselnde Displays und ihre Daten
Kapitel 9: Wechselspiel der Bildschirme
Ein Quiz
Android-eigene Activitys
Daten sichern: SharedPreferences
Lebenszyklus einer Activity
Ein Datenmodell für ein Quiz
Die App stellt Fragen
Sicherung des Quiz-Zustands
Ein Menü für das Quizspiel
Neue Fragen für das Quiz
Änderung einer Aufgabe
Eigene Projekte
Kapitel 10: Fragmente einer Activity
Mehrere Fragmente in einer Activity
Bildschirmnavigation mit Fragmenten
Kapitel 11: Zugriff auf Dateien und das Internet
JSON
Externe Dateien
Daten aus dem Internet lesen
Wie ein Netzwerk tickt
Eigene Projekte
Teil V: Ortskenntnis und Sensoren
Kapitel 12: Wo bin ich?
Der Spion in der Tasche
Positionsbestimmung per GPS
Die Berechtigungen anfordern
Location: Der Manager und sein Listener
Zusammenfassung: Anzeige von GPS-Daten
Einen Kartenausschnitt beschaffen und integrieren
In OMS-Droid Karten online navigieren
Kapitel 13: Sensoren
Ein Sensor-Projekt
Sensor-Manager
Sensor-Ereignissen nachspüren
Eigene Projekte
Kapitel 14: Multimedia: Video und Audio
Berechtigungen
Beispiel-App für ein Foto
Auslaufmodell startActivityForResult
Video
Audioaufnahme und -wiedergabe
Abspielen von Klangressourcen
Eigene Projekte
Teil VI: Der Top-Ten-Teil
Kapitel 15: Die Top 10 der Emulator-Gemeinheiten
Der Emulator benötigt das Virtual Flag der CPU
Zickig im Umgang mit virtuellen Kollegen
Laaaaaangsam
Wenig Speicher
Fettleibigkeit
Stürzt bei Nichtbeachtung ab
Startet manchmal kommentarlos nicht
Mangel an Fähigkeiten
Eine Sperrdatei
Unverzichtbar
Kapitel 16: Die Top-10-Strategie für benutzbare Apps
Planen Sie Ihre Funktionalität
Befragen Sie potentielle Benutzer
Gruppieren und Trennen
Prototypen erstellen und verwerfen
Testen Sie die Bedienung zuerst selbst
Programmierer sind keine Anwender (und umgekehrt)
Erstbenutzer suchen
Benutzertest mit lautem Denken
Fragen stellen
Tester freundlich behandeln
Abbildungsverzeichnis
Stichwortverzeichnis
End User License Agreement
Kapitel 4
Tabelle 4.1: BMI-Werte und ihre Bedeutung
Tabelle 4.2: Spannungsabfall an LEDs
Kapitel 9
Tabelle 9.1: Der Lebenszyklus einer Activity
Kapitel 1
Abbildung 1.1: Webseite zum Download von Android Studio
Abbildung 1.2: Installation auf dem Mac nach dem Download
Kapitel 2
Abbildung 2.1: Auswahl des Projektstils
Abbildung 2.2: Konfiguration des Projekts
Abbildung 2.3: Android Studio mit geladenem Projekt
Abbildung 2.4: Zugang zum AVD-Manager
Abbildung 2.5: Der AVD-Manager mit den Emulatoren
Abbildung 2.6: Auswahl einer neuen Emulator-Hardware im AVD-Manager
Abbildung 2.7: Ein erster Gruß des Emulators
Abbildung 2.8: Das Projekt kann nicht übersetzt werden.
Abbildung 2.9: Auswahl der SDK im Dialog Project Structure
Abbildung 2.10: Modi des Editors
Abbildung 2.11: TextView im Designer
Kapitel 3
Abbildung 3.1: Die Werkzeugleiste mit dem Käfer als Debug-Symbol
Abbildung 3.2: Die App wartet auf den Debugger.
Abbildung 3.3: Die Werkzeugleiste zur Steuerung des Debuggers
Abbildung 3.4: Das Listing unter Debug-Kontrolle
Abbildung 3.5: Ergebnisse im Logcat
Abbildung 3.6: Ergebnisse im Toast
Abbildung 3.7: Eintrag der id im Designer
Abbildung 3.8: Die Tischfläche in voller Schönheit
Abbildung 3.9: Zentrieren eines Elements
Abbildung 3.10: Alle Elemente werden oben auf dem Display angeordnet.
Abbildung 3.11: Elemente markieren
Abbildung 3.12: Vertikale Kette
Abbildung 3.13: Fehlermeldung!
Abbildung 3.14: Android Studio schlägt Ihnen eine Methode vor.
Abbildung 3.15: App zur Berechnung von Fläche und Umfang eines Rechtecks
Kapitel 4
Abbildung 4.1: Beschriftung und Eingabe auf dieselbe Höhe bringen.
Abbildung 4.2: In der Höhe zentrieren.
Abbildung 4.3: Die BMI-Activity im Design
Abbildung 4.4: Der BMI-Screen
Abbildung 4.5: Der Dialog für eine weitere Sprachdatei
Kapitel 5
Abbildung 5.1: Eine App voller Zufälle
Abbildung 5.2: Lottozahlen im Debugger
Abbildung 5.3: Die Anzeige der Lottozahlen, links vor der ersten Ziehung
Abbildung 5.4: Ein Wechselgeldautomat
Kapitel 6
Abbildung 6.1: Der Klasse einen Namen geben
Abbildung 6.2: Ein Vererbungsbaum
Kapitel 7
Abbildung 7.1: Ein Minesweeper-Spiel
Abbildung 7.2: Eine Klasse erstellen
Abbildung 7.3: Der Ort für die Klasse
Abbildung 7.4: Der Name für die Klasse
Abbildung 7.5: Erster View-Test mit kaum erkennbarer Diagonale
Abbildung 7.6: Eine gerasterte View
Abbildung 7.7: Das Raster mit X gefüllt
Abbildung 7.8: Quadratische Felder mit Überhang
Abbildung 7.9: Quadratische Felder ohne Überhang
Abbildung 7.10: Das Spiel merkt sich Berührungen als Kreuze.
Abbildung 7.11: Das Spiel zeigt die Nachbarminen.
Abbildung 7.12: Das Spiel senkrecht und waagerecht
Abbildung 7.13: Ausrichtung einer weiteren Layout-Datei
Abbildung 7.14: Im Querformat
Kapitel 8
Abbildung 8.1: Der Spielername im Portrait-Modus
Abbildung 8.2: Drei Punkte verweisen auf das Optionsmenü.
Abbildung 8.3: Das aufgeklappte Optionsmenü
Abbildung 8.4: Erstellen eines neuen Layouts
Abbildung 8.5: Die fertige Highscore-Tabelle
Abbildung 8.6: Der DatePicker im Rädchenmodus
Abbildung 8.7: Der DatePicker im Kalendermodus als Dialog
Kapitel 9
Abbildung 9.1: Der Begrüßungsbildschirm im Layout-Designer
Abbildung 9.2: Wähl-Aktion in der Emulation
Abbildung 9.3: Die Quiz-App stellt eine Aufgabe.
Abbildung 9.4: Der Menü-Designer
Abbildung 9.5: Eingabe einer Quizfrage
Kapitel 10
Abbildung 10.1: Einfügen der FragmentContainerView
Abbildung 10.2: Fragment in Activity
Abbildung 10.3: Zwei Fragmente in einer Activity
Abbildung 10.4: Ausrichtung einer weiteren Layout-Datei
Abbildung 10.5: Im Querformat
Abbildung 10.6: Zwei Fragmente nebeneinander in einer Activity
Abbildung 10.7: Projektstruktur
Abbildung 10.8: Auswählen eines Fragments
Abbildung 10.9: Der Navigationsgraph
Kapitel 12
Abbildung 12.1: Der Dialog für die Berechtigung zur Standortbestimmung
Abbildung 12.2: Die Anzeige der Location-Bestandteile
Abbildung 12.3: Erzeugen einer PNG-Datei aus OSM
Abbildung 12.4: Links mehrere Welten, rechts Deutschland
Abbildung 12.5: Die Karte wird auf die GPS-Position positioniert.
Kapitel 13
Abbildung 13.1: Die Sensorsimulatoren des Emulators
Abbildung 13.2: Weitere Sensoren, darunter auch der Lichtsensor
Kapitel 14
Abbildung 14.1: Ein minimales Aufnahmestudio
Abbildung 14.2: Das Aufnahmestudio im Record-Modus
Cover
Titelblatt
Impressum
Über den Autor
Inhaltsverzeichnis
Einleitung
Fangen Sie an zu lesen
Abbildungsverzeichnis
Stichwortverzeichnis
End User License Agreement
1
2
3
4
7
8
9
23
24
25
26
27
28
29
30
31
32
33
34
35
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
375
376
377
379
380
383
384
385
386
Dieses Buch richtet sich an Menschen, die gern programmieren lernen wollen und dabei vor allem Anwendungen für ihr Android-Smartphone im Blick haben. Auch wenn das Buch keine Kenntnisse in der Programmierung voraussetzt, wird es deutlich einfacher werden, wenn Sie bereits programmieren können.
Aber selbst wenn Sie schon Erfahrungen in der Programmierung haben, könnte dieses Buch vielleicht genau das Buch sein, das Sie sich wünschen. Die Programmierung von Android-Apps greift ausgiebig auf die Techniken der objektorientierten Programmierung zurück. Sollten Sie da noch die eine oder andere Lücke haben, wird sich diese hier schließen.
Das Buch erläutert also die ersten Schritte, die objektorientierte Programmierung und die Programmierung in einer Android-Umgebung. Damit es nicht langweilig wird, habe ich versucht, die theoretischen Grundlagen dort zu erläutern, wo sie in der Android-Programmierung gebraucht werden.
Für Schlüsselwörter, Bezeichner und ähnliche Dinge, verwende ich die nichtproportionale Schrift. Wenn ich Begriffe erläutere, werden Sie kursive Schrift sehen.
Dateien und Pfade werden ebenfalls in kursiver Schrift gesetzt.
Menüs, Buttons oder Beschriftungen von Programmen oder Webseiten werden in KAPITäLCHEN dargestellt.
Auch URLs werden in nichtproportionalerSchrift gesetzt. Im Falle von eBooks mag es sogar funktionieren, diese direkt anzuklicken. Ob das bei Ihnen klappt, hängt aber von Ihrer technischen Umgebung ab.
Ich werde Sie solange siezen, bis wir uns persönlich kennenlernen und Sie mir erklären, von mir geduzt werden zu wollen. Danach dürfen Sie gern mit einem Rotstift durch das Buch gehen und jedes »Sie« durch ein »Du« ersetzen.
Sie müssen nicht programmieren können, um dieses Buch zu verstehen. Gewisse Vorerfahrungen wären hilfreich, werden aber nicht vorausgesetzt. Ich erkläre alles.
Eine törichte Annahme ist, dass Ihnen der Umgang mit Android-Geräten nicht fremd ist. Warum sollten Sie Apps für etwas programmieren wollen, mit dem Sie selbst nicht umgehen können?
Die Programmierung von Android-Apps können Sie nicht auf einem Smartphone durchführen. Sie benötigen einen Computer. Daran führt kein Weg vorbei. Dieser Computer kann Linux, Windows oder macOS nutzen. Er sollte nicht an Altersschwäche leiden und reichlich Platz auf der Festplatte haben. Wenn der Hauptspeicher knapp und der Internetzugang langsam ist, wird es vielleicht etwas zäh. Dann müssen Sie halt etwas Geduld mitbringen.
Wir haben viel vor. Immerhin hat alles zwischen die Buchdeckel gepasst. Ihre Aufgabe ist es, zu lesen, zu verstehen und vor allem, selbst nachzuvollziehen. Denn mit dem Programmieren ist es wie mit dem Gitarrespielen. Sie lernen es nicht durch Zuschauen und Zuhören, sondern nur dadurch, dass Sie es selbst versuchen.
In Kapitel 1 werde ich Ihnen erzählen, wie Sie Ihren Arbeitsplatz für die App-Programmierung herrichten. So viel kann ich schon verraten: Die Entwicklungsumgebung ist kostenlos.
Im Kapitel 2 werden Sie bereits eine erste App einrichten. Die kann allerdings nur »Guten Tag« sagen.
In diesem Grundgerüst werden Sie in Teil II Ihre ersten Schritte in Java machen. Sie werden in Kapitel 3 erfahren, wie man Zahlen und Texte verarbeitet und wie man unter Android Ein- und Ausgaben realisiert.
Anhand einer BMI-App werden Sie in Kapitel 4 Abfragen und weitere Eingabeelemente wie Radio-Buttons kennenlernen. Diese App kann nicht nur das Übergewicht des Autors beziffern, sondern auch zeigen, wie man mehrsprachige Apps organisiert.
Nicht nur dem Zufall, sondern auch den Zahlenkolonnen sind Sie in Kapitel 5 auf der Spur. Sie werden Schleifen und Listen kennenlernen.
Die Grundlagen der objektorientierten Programmierung stehen in Kapitel 6 auf dem Menü, und zwar am Beispiel der guten alten Bruchrechnung.
Wenn Sie Spiele programmieren wollen, werden Sie Grafiken erzeugen wollen und auf die Aktionen des Anwenders reagieren müssen. In Kapitel 7 werden Sie ein Spiel erstellen und dabei die Grundlagen von Java und objektorientierter Programmierung noch einmal vertiefen. In Kapitel 8 werden wir für das Spiel eine Highscore-Liste erstellen, um Datenbanken und Listenanzeigen kennenzulernen.
Smartphone-Apps müssen aufgrund des kleinen Bildschirms immer wieder die Displays wechseln. In Kapitel 9 erfahren Sie, wie man eine solche App erstellt und wie sie die Daten übergibt. In Kapitel 10 schauen wir kurz auf Fragmente und in Kapitel 11 betrachten wir, wie man Dateien exportiert oder aus dem Internet lädt.
Fast jedes Smartphone hat einen GPS-Empfänger an Bord und in Kapitel 12 werden Sie sehen, wie man dieses anspricht und damit Landkarten ansteuert. Da das GPS-System auch ein prima Spitzel ist, müssen Sie den Anwender dafür um Erlaubnis bitten.
In Kapitel 13 schauen wir uns Sensoren an, welche Licht und Beschleunigung registrieren.
Für den Schluss habe ich mir in Kapitel 14 das Thema Multimedia aufgehoben. Sie nutzen die Kamera für Fotos und Filme und setzen Mikrofon und Audiowiedergabe mit einer kleinen Diktaphon-App ein.
Im Top-Ten-Teil finden Sie Trost, wenn Sie sich über den Emulator ärgern, und gute Strategien, wie Sie darauf Rücksicht nehmen, dass ein Smartphone-Display naturgemäß keine Großbildleinwand ist.
Damit Sie bestimmte Informationen schneller wiederfinden, habe ich das Buch mit Symbolen verziert:
Was hinter so einem Symbol steht, sollten Sie sich merken. Es ist quasi die Aufforderung, einen Spickzettel anzulegen.
Dieses Symbol zeigt an, dass es etwas technischer wird. Sie sollten es sich nicht gar so zu Herzen nehmen, wenn Sie nicht auf Anhieb verstehen, was bei so einem Symbol steht. Stellen Sie sich vor, dass der Informatiker in mir durchgegangen ist. Übergehen Sie es aber nicht von vornherein! Ich hatte ja schließlich meinen Grund, es aufzuschreiben.
Manchmal kann man sich das Leben vereinfachen. Die Glühbirne weist Ihnen den Weg.
Mit diesem Symbol möchte ich Sie darauf hinweisen, dass Ihre Aufmerksamkeit gefragt ist. Vielleicht sollten Sie den Text dazu sicherheitshalber zwei Mal lesen.
Wenn das Warndreieck erscheint, mache ich mir etwas Sorgen. Schauen Sie bitte genauer hin. Sie könnten in eine Situation geraten, die Ihnen nicht gefällt.
Hier plaudere ich mal aus dem Informatikerkästchen. Das müssen Sie sich nicht merken und es auch nicht unbedingt lesen, um an Ihr Ziel zu gelangen.
Hier stelle ich Ihnen eine Aufgabe, die Sie versuchen sollten, selbst zu lösen, bevor Sie weiterlesen. Ich stelle Ihnen die Aufgabe, weil ich denke, dass Sie alles für die Lösung Nötige parat haben müssten. Programmieren lernt man durch eigenes Handeln. Wenn Sie die Aufgabe nicht allein lösen können, verlieren Sie nicht den Mut! Ich werde alles anschließend erläutern. Aber den meisten Gewinn haben Sie, wenn Sie selbst auf die Lösung kommen.
Sie werden hoffentlich das Buch lesen. Dafür habe ich es nämlich geschrieben. Und in diesem besonderen Fall ist es vielleicht gar nicht schlecht, wenn Sie es zwei Mal lesen. Ein noch so kleines Android-Programm enthält so viel theoretischen Hintergrund, dass ich erst im Laufe des Buches alles erklären kann. Ich rechne also damit, dass manche Zusammenhänge erst beim zweiten Lesen richtig klar werden. Gönnen Sie sich die Zeit!
Ich werde Ihnen unter diesem Symbol immer wieder einmal vorschlagen, etwas selbst zu versuchen, wenn ich das Gefühl habe, Sie müssten nun alle notwendigen Informationen bereits zusammenhaben. Das sollten Sie dann auch wahrnehmen. Gleich anschließend werde ich eine Lösung vorschlagen, anhand derer Sie Ihre Ideen kontrollieren können.
In einigen Kapiteln unterbreite ich Ihnen Vorschläge für eigene Projekte. Damit schlage ich Ihnen etwa vor, wie Sie die Beispiel-App noch erweitern und das gerade Gelernte umsetzen könnten. Diese Projekte sind durchaus etwas anspruchsvoller und es ist völlig in Ordnung, wenn Sie daran einige Tage herumbasteln. Selbst ein Scheitern und späteres Wiederaufnehmen gehört zum Plan. Hier ist wirklich der Weg das Ziel. Darum halte ich in diesen Fällen eine Musterlösung für kontraproduktiv.
Ich habe für dieses Buch eine Webseite erstellt: http://willemer.de/app4d. Dort finden Sie Korrekturen und Verweise, die bei der Drucklegung noch nicht zur Verfügung standen.
Auch die im Buch beschriebenen Projekte habe ich dort zum Download bereitgestellt. Sie finden sie ebenso auf der Webseite des Verlags zum Buch: http://www.wiley-vch.de/ISBN9783527718801
Teil I
IN DIESEM TEIL…
Bevor wir unsere erste App stricken, sollten wir uns Stricknadeln und Wolle beschaffen. Dazu werden wir sowohl Hardware als auch Software brauchen.
Kapitel 1
IN DIESEM KAPITEL
Entwicklungsumgebung AndroidStudioVirtuelle SmartphonesEchte Smartphones einbindenIch bin sicher, Sie besitzen bereits einen Computer. Falls nicht, wird es bitter. Kaufen Sie einen. Überraschenderweise können Sie durchaus auch ohne Smartphone oder Tablet Android-Apps programmieren. Aber da Sie ja offenbar Apps für diese Geräte entwickeln wollen, werden Sie vermutlich auch (mindestens) eines davon besitzen.
Sie werden in diesem Buch zwar lernen, Programme für Smartphones und Tablets unter Android zu programmieren, aber entwickelt werden die Programme auf einem Computer. Und Sie werden auf lange Sicht froh darüber sein, die Quelltexte nicht mit der virtuellen Tastatur auf dem kleinen Display Ihres Smartphones bearbeiten zu müssen.
Das Betriebssystem Ihres PCs ist dabei weitgehend egal. Ich entwickle auf einem Linux-System, die meisten Programmierer werden vermutlich ein Windows-System verwenden. Aber es ist auch möglich, Android-Apps auf einem Mac zu erstellen.
Die Entwicklungsumgebung wird Ihrem PC nicht sehr viel mehr abverlangen als ein gängiges Office-Paket, aber Sie werden die Beispiele ausprobieren wollen. Das geht zwar auch mit einem angekoppelten Smartphone, aber etwas einfacher wird es, wenn Sie den Emulator der Umgebung verwenden. Dieser Emulator tut so, als wäre er ein Smartphone. Ein komplettes Smartphone in einem PC zu simulieren, stellt allerdings Anforderungen an Ihre Hardware:
Das Virtual-Flag Ihres Prozessors muss eingeschaltet sein. Das benötigt der Emulator, weil er eine sogenannte virtuelle Maschine ist. Gehen Sie erst einmal davon aus, dass das Virtual-Flag in Ordnung ist. Wenn nicht, wird sich der Emulator schon melden. Reparieren Sie nichts, was nicht kaputt ist!
Bei einigen, vor allem älteren PCs ist das virtuelle Flag im BIOS beziehungsweise im UEFI abgeschaltet. Leider ist die Konfiguration bei jedem Computer etwas anders. Falls Sie diese Einstellung nicht selbst finden können, vertrauen Sie Ihrer Suchmaschine den Typ Ihres PCs sowie die Stichworte »UEFI« und »Virtual« an und Sie werden sicherlich eine Seite finden, die Ihnen weiterhilft.
Der Hauptspeicher (RAM) sollte nicht auf Kante gestrickt sein. Der Emulator beherbergt schließlich ein komplettes Android-System. Das benötigt natürlich auch das eine oder andere Gigabyte extra.
Auf der Festplatte sollten Sie auch noch ordentlich Platz haben. Allein für jede Android-Version, die im Emulator getestet werden soll, geht davon deutlich mehr als ein Gigabyte stiften.
Diese Speichermengen müssen Sie herunterladen und sich darum durch Ihre Internetleitungen quälen. Dementsprechend sollten Sie auch in dieser Beziehung gut ausgestattet sein – oder mit großzügigen Pausen rechnen.
Da Sie vor allem am Anfang hauptsächlich den Emulator nutzen werden, ist ein Android-Gerät nicht zwingend erforderlich. Aber es wäre natürlich sehr schade, wenn Sie die erstellten Apps nicht auch mal in freier Wildbahn testen könnten.
Dazu müssen Sie Ihr Smartphone per USB an den Entwicklungs-PC anschließen. Anschließend wird Ihre Entwicklungsumgebung auf das Gerät zugreifen wollen, um Programme installieren, starten und überwachen zu können. Diese Berechtigungen müssen Sie für Ihren PC aber zunächst Ihrem Smartphone abringen.
Starten Sie Ihr Smartphone und gehen Sie dort in die Einstellungen.
Wechseln Sie auf den Punkt
SYSTEM
.
Dort gibt es einen Punkt
ÜBER DAS TELEFON
.
Gegen Ende der Liste finden Sie die Build-Nummer.
Diese tippen Sie sieben Mal an. Kein Scherz. Das haben sich die Entwickler bei den Gebrüder Grimm abgeschaut.
Anschließend erscheint eine Meldung, welche den Entwicklermodus bestätigt.
Bei manchen Geräten gibt es einen Eintrag ENTWICKLEROPTIONEN. Dort schalten Sie die Option USB-DEBUGGING ein.
Das Umschalten in den Entwicklermodus erlaubt den Zugang über USB. Sie schalten damit die sogenannte Android Debug Bridge (ADB) frei. Die ADB ermöglicht die Ausführung von Kommandozeilenprogrammen auf Ihrem Smartphone über USB. Dies nutzt die Entwicklungsumgebung zum Ausführen Ihrer Programme.
Die ADB kann aber auch nützlich sein, wenn Ihr Display zerbrochen ist und Sie Ihr Smartphone auf direktem Weg nicht mehr steuern können. Wenn es zuvor im Entwicklermodus war, bleibt Ihnen immerhin die Möglichkeit über die ADB an Ihre Daten zu kommen. Für eine genaue Beschreibung fehlt hier der Platz. Falls Sie einmal dafür Verwendung haben, weiß Ihre Suchmaschine mehr darüber.
Sie müssen Ihrem Smartphone noch erlauben, Apps aus unbekannter Quelle zu installieren. Andere Installationsquellen als Google lehnt ein Android-Gerät aus Sicherheitsgründen und zum Schutz der Einnahmen von Google ab. Wenn Sie allerdings Ihre eigenen Programme entwickeln, stammt Ihr Programm zwangsläufig nicht aus Google Play. Auch diesen Schalter finden Sie in den Einstellungen Ihres Smartphones.
Es kann sein, dass Ihr Android-Gerät sich etwas anders verhält als hier beschrieben. Hersteller haben manchmal putzige Ideen. Falls sich Ihr Gerät nicht an dieses Buch hält, rügen Sie es dafür ordentlich und bitten Sie eine Suchmaschine um Hilfe.
Nun benötigt Ihr Computer ein Programm, in dem Sie den Programmcode eintippen, ihre Bildschirme gestalten und die fertigen Ergebnisse übersetzen und testen können. Ein solches Programm bezeichnet man als integrierte Entwicklungsumgebung oder auf plattdeutsch Integrated Development Environment beziehungsweise, da man solche Wortungetüme nicht gut aussprechen kann, IDE.
Der Kern einer solchen Entwicklungsumgebung besteht aus einem Übersetzer für die verwendete Programmiersprache. In unserem Fall ist dies ein Java-Compiler. Der sorgt nicht nur dafür, dass die eingetippten Programmzeilen in Apps verwandelt werden, sondern unterstützt auch den Editor, damit bereits beim Eintippen rot wird, was später nicht funktioniert.
Eine Entwicklungsumgebung enthält eigentlich immer einen Editor. Der hilft Ihnen beim Eintippen Ihrer Programme. In einer Entwicklungsumgebung fragt ein guter Editor immer wieder den Übersetzer, ob das, was der Entwickler gerade eintippt, möglicherweise ausgemachter Blödsinn ist. Sollte das nicht der Fall sein, färbt der Editor die Quelltexte ein. Das erleichtert oft den Überblick und etwas Farbe tut auch Programmierern gut.
Wenn das Programm einen guten Zwischenstand erreicht hat, kann es die Entwicklungsumgebung zum Test starten. Das ist bei Android etwas anspruchsvoll, weil Android-Apps nicht direkt auf einem PC laufen. Es ist also notwendig, das Programm entweder auf einen Emulator oder auf ein per USB angeschlossenes Android-Gerät zu übertragen und dort zu starten.
Auch wenn es boshaft klingt, muss ich Ihnen sagen, dass Sie als Programmierer ständig Fehler machen werden. Das gehört zum Berufsbild. Gemein ist, dass Sie die Fehler nicht einmal anderen Leuten in die Schuhe schieben können. Um solche Fehler zu finden, können Sie laufende Programme schrittweise durchlaufen und sehen, was bei jedem Schritt passiert. Ein solches Vorgehen heißt
Debugging
und das dafür zuständige Werkzeug ist der
Debugger
, der von der Entwicklungsumgebung gesteuert wird.
Eine gute Entwicklungsumgebung bietet einige Assistenten, die dem Programmierer helfen, Routinearbeiten in grafischen Umgebungen mit der Maus zu erledigen. Beispielsweise können Sie das Display-Design fast vollständig zusammenklicken.
In den guten alten Zeiten entwickelte man Android noch unter Eclipse. Inzwischen ist Google aber auf Android Studio umgeschwenkt. Wenn Sie im Internet Beschreibungen finden, bei denen Eclipse erwähnt wird, könnte die betreffende Seite etwas älter sein.
Jetzt sind Sie vermutlich völlig heiß auf dieses tolle Programmierumgebung und wollen es auch haben. Im nächsten Schritt schauen wir mal, wo man so etwas herbekommt.
Android Studio können Sie hier kostenlos herunterladen: https://developer.android.com/studio Gleich zentral sehen Sie dort einen Button, der Sie zum Download auffordert (siehe Abbildung 1.1). Die Seite schlägt Ihnen die für Ihren Computer passende Version vor. Falls Sie nicht mit Ihrem Entwickler-PC unterwegs sind, können Sie über DOWNLOAD OPTIONS auch eine andere Version herunterladen.
Abbildung 1.1: Webseite zum Download von Android Studio
Vor dem Herunterladen dürfen Sie noch einen längeren Text lesen, der Ihre Englischkenntnisse vertieft und Google vor Schadensersatzansprüchen schützt. Sie müssen einen Haken setzen und erhalten dann die Möglichkeit, eine Datei herunterzuladen. Diese Datei können Sie auf Ihrem System einrichten. Das ist nicht komplizierter als bei Anwendungsprogrammen oder Computerspielen.
Für Linux wird eine Datei mit der Endung tar.gz heruntergeladen. Sie wird vermutlich bei Ihnen auch im Downloads-Verzeichnis landen. Entpacken Sie sie direkt im Heimatverzeichnis. Falls Sie mit dem grafischen Entpacken nicht klarkommen, hilft Ihnen der folgende Befehl am Terminal:
Es entsteht ein Verzeichnis namens android-studio, in dem sich unter bin/studio.sh ein Skript befindet. Bei seinem ersten Start dient das Skript als Installations-Tool.
Nach dem ersten Durchlauf ist dies das Startprogramm für Android Studio. Dieses Skript können Sie in das Anwendungsmenü übernehmen, wenn Sie Android Studio aus diesem heraus starten wollen.
Nach dem Download finden Sie in Ihrem Download-Verzeichnis eine Datei, die mit android-studio beginnt und auf .exe endet. Wenn Sie diese starten, beginnt die eigentliche Installation, die Sie zunächst nach den Administrator-Rechten fragt und dann in ein Setup führt. Darin klicken Sie so lange auf den Button NEXT, bis die Installation beginnt. Wenn Sie zuletzt auf den Button FINISH klicken, startet Android Studio zum ersten Mal.
Beim ersten Start fragt Android Studio, ob es die Konfiguration einer bisherigen Installation mitnehmen soll. Es bittet weiterhin darum, Ihre Daten für die anonyme Ausforschung an Google senden zu dürfen, lädt noch ein paar Kleinigkeiten nach und befragt Sie dann, ob Sie eine Standard- oder Custom-Installation wünschen. Wenn Sie nicht sicher sind, bleiben Sie beim Standard. Nachdem noch ein paar Dinge aus dem Internet nachgeladen wurden, können Sie zu guter Letzt auf FINISH klicken.
Wenn Sie die URL http://developer.android.com/studio mit einem Mac öffnen, wird Ihnen eine DMG-Datei angeboten. Nach dem Download befindet sich die Datei wie eine Festplatte auf dem Desktop. Das zugehörige Fenster öffnet sich, wie in Abbildung 1.2 zu sehen.
Abbildung 1.2: Installation auf dem Mac nach dem Download
Nun müssen Sie folgende Schritte ausführen:
Sie schieben das Android-Studio-Symbol auf den
APPLICATIONS
-Ordner.
Klicken Sie doppelt auf das Symbol
ANDROID STUDIO
.
Nun weist Sie Ihr Mac auf die Gefahren von Programmen aus dem Internet hin. Wenn Sie sich diesen Gefahren tapfer stellen wollen, können Sie das Programm nun starten.
Das Programm fragt, ob Sie die Einstellungen einer alten Android-Studio-Version übernehmen wollen oder ob dies eine erstmalige Installation ist.
Der Assistent zeigt, was er zu tun gedenkt. Sie antworten durch das Klicken auf den Button
NEXT
.
Sie können statt der Standard-Installation eine Custom-Variante wählen, wenn Sie dafür besondere Gründe haben. Bestätigen Sie mit
NEXT
.
Einen Überblick über das, was nun installiert wird, beenden Sie mit
FINISH
.
Nun werden haufenweise Dateien aus dem Internet geladen und installiert, bis die Leitung glüht. Anschließend bittet die Installation um das Administratorkennwort. Danach klicken Sie auf
NEXT
.
Nach der Installation beenden Sie den Assistenten mit
FINISH
. Daraufhin startet Android Studio automatisch und will als Erstes von Ihnen wissen, ob Sie ein neues Projekt anlegen oder ein existierendes übernehmen wollen. Es verhält sich also ab jetzt genauso wie auf den anderen Plattformen.
Wenn sich bei der Entwicklung Fragen ergeben, geben Sie die entsprechenden Stichworte in die Suchmaschine Ihres geringsten Misstrauens. Dabei werden Sie vermutlich häufig auf Webseiten aus zwei Quellen stoßen:
Die Webseite
https://developer.android.com
enthält die offizielle Dokumentation für Android. Sie liefert die verbindliche und aktuelle Beschreibung auf Englisch und ist nicht unbedingt anfängerkompatibel.
Die Webseite
https://stackoverflow.com
ist eine beliebte und recht gut moderierte Frage-Antwort-Seite für Software-Entwickler mit guten Lösungen und Beispielen. Allerdings sollten Sie die Aktualität prüfen und hinreichend gut Englisch können.
Unter der URL http://willemer.de/informatik/android finden Sie meine Seiten zum Thema Android-Programmierung. Die sind zwar auf Deutsch, haben aber dafür manchmal eher einen Notizzettelcharakter. Die Seiten protokollieren meinen eigenen Einstieg in die Android-Programmierung unter anderem bei den Recherchen für dieses Buch und enthalten darüber hinaus eine Reihe von Notizen zu Themen, die es nicht in dieses Buch geschafft haben.
Kapitel 2
IN DIESEM KAPITEL
Hello World auf AndroidÜbersicht über das Android-StudioDer Display-Designer und -EditorXMLAndroid Studio haben Sie nun erfolgreich installiert. Sie können damit die erste App erstellen und das erfordert nicht einmal viel Know-how, denn Android Studio wird Ihnen ein Gerüst bauen, das ohne Ihr Zutun eine freundliche Begrüßung auf das Display zaubert.
Beim ersten Start bietet Ihnen Android Studio an, Sie bei der Erstellung eines neuen Projekts zu unterstützen. Dazu erscheint ein Dialog wie in Abbildung 2.1.
Dort zeigt Android Studio stolz, welche Projekttypen es zu bieten hat. In den allermeisten Fällen benötigen Sie eine Empty Activity. Die ist auch schon vorgewählt. Sie müssen nur noch auf den NEXT-Button klicken.
Android Studio wechselt zum nächsten Dialog (siehe Abbildung 2.2), in dem das Projekt näher beschrieben werden soll: Projektname, Ort auf der Festplatte, Programmiersprache und SDK.
Abbildung 2.1: Auswahl des Projektstils
Abbildung 2.2: Konfiguration des Projekts
Sie können als Projektnamen ErsterVersuch wählen. Das ist sicher nicht besonders originell und es steht Ihnen frei, einen (fast) beliebigen anderen zu wählen.
Wenn Sie den Projektnamen im Eingabefeld NAME eintippen, werden Sie sehen, dass sich auch die Eingabefelder von PACKAGE NAME und SAVE LOCATION ändern.
Der Name des Packages wird vor den Projektnamen gestellt. Dieser Paketname sollte weltweit eindeutig sein. Falls Sie Ihre App im Google Play anbieten wollen, wird das relevant. Diese Eindeutigkeit lässt sich leicht erreichen, wenn Sie eine Internet-Domain besitzen. Nach Konvention wird diese umgekehrt. So wird bei mir aus willemer.de der Packagebezeichner de.willemer.ersterversuch.
Der Pfadname beschreibt, wo das Projekt auf Ihrer Festplatte abgelegt wird.
Unter dem Eintrag LANGUAGE können Sie auswählen, ob Sie Ihre Android-Programme in Java oder Kotlin schreiben. Für dieses Buch musste ich mich auf eine von diesen Programmiersprachen festlegen, da ein ständiger Wechsel vielleicht drei Leser mehr bringt, aber alle Leser im Zustand völliger Verwirrtheit zurücklässt. Bei der Entscheidung half mir ein Blick auf die Entstehungsgeschichte.
Google hatte sich zunächst für Java als Programmiersprache für Android entschieden. Das hatte eine gute Tradition. Vorher hatte man Java ME (Mobile Edition) für die Programmierung von Mobiltelefonen verwendet.
Nach der Übernahme der Firma Sun im Jahre 2010 und damit der Rechte an Java verklagte Oracle die Firma Google als Hersteller von Android auf knapp neun Milliarden Dollar wegen der Nutzung von Java (vgl. https://www.golem.de/news/smartphone-google-gewinnt-im-android-streit-mit-oracle-vor-gericht-2104-155488.html). Dieser Prozess zog sich ein paar Jahre hin und es war nicht sicher, wer gewinnen würde.
2019 entdeckte Google seine Liebe zu Kotlin, einer seinerzeit relativ unbedeutenden Sprache, die von der Firma JetBrains entwickelt wurde (vgl. https://www.netzpiloten.de/kotlin-fuer-android). Hätte Oracle gewonnen und die Verwendung von Java eingeschränkt, hätte sich Google ohne Gesichtsverlust auf Kotlin zurückziehen können. Denn der Umstieg war ja längst angekündigt.
Im Jahr 2021 hat Google den Prozess aber doch endgültig vor dem Supreme Court gewonnen und es wird interessant werden, wie intensiv die Liebe zu Kotlin über die Jahre bleiben wird.
Es gibt ein paar interessante Neuerungen, die mit Kotlin eingeführt werden, wie etwa die Möglichkeit, Operatoren zu überladen. Eine wirkliche Revolution ist Kotlin nicht. Das erkennt man schon daran, dass man den Code der Sprachen maschinell ineinander überführen kann. Wir reden also im Wesentlichen von syntaktischem Zuckerguss. Kotlin macht ein paar Dinge anders und kürzer als viele andere Programmiersprachen.
Da sich dieses Buch vor allem an Programmieranfänger richtet, ist es sinnvoll, eine Sprache einzusetzen, die auch in anderen Bereichen oft zu finden ist. Damit bleibt Ihnen das Lernen einer neuen Programmiersprache erspart, wenn Sie eines Tages doch etwas anderes als Android programmieren wollen. Darüber hinaus hat Java den Charme, dass Sie sowohl im Freundeskreis als auch im Internet leicht Hilfe finden werden.
Ich hatte ursprünglich einen Kotlin-Kurs für den Anhang dieses Buches geschrieben. Ich habe ihn dann doch entfernt, als ich merkte, dass der Platz eng wird. Für diejenigen, die gern Kotlin lernen wollen, habe ich ihn auf meiner Webseite hinterlegt.
http://willemer.de/informatik/kotlin
Unter MINIMUM SDK befindet sich eine Klappbox, mit der Sie die minimale API auswählen können, unter der die App lauffähig sein.
API ist die Abkürzung für Application Programming Interface. Die API bildet die Schnittstelle, um ein Android-Gerät zu programmieren. Beispielsweise können Sie durch einen Aufruf der API einen Button auf dem Bildschirm erscheinen lassen.
Die API hat sich im Laufe der Jahre mit den verschiedenen Android-Versionen verändert. So sind beispielsweise Bedienelemente hinzugekommen oder haben sich in ihren Anforderungen weiterentwickelt. Darum sind die API-Versionen eng mit ihren jeweiligen Android-Versionen verknüpft. So stellt die Android-Version 6.0, genannt Marshmallow, die API 23 zur Verfügung.
An dieser Stelle wählen Sie aus, welche Mindest-API Ihre App voraussetzt und damit, wie alt ein Gerät sein darf. Sie würden natürlich gern alle Smartphones bedienen wollen. Allerdings müssen Sie dann auf bestimmte Features verzichten, die inzwischen hinzugekommen sind. Sie machen nicht viel falsch, wenn Sie die vorgewählte SDK einfach übernehmen.
Sie sollten die API nicht beliebig oft wechseln, weil dann jedes Mal die Bibliotheken der API aus dem Internet neu geladen werden müssen. Leider ist der Umfang einer solchen API recht ordentlich, sodass Sie dann eine gewisse Zwangspause einlegen müssten.
Mit dem Button FINISH schließen Sie den Assistenten ab. Android Studio wird nun die Umgebung für Ihre neue App zusammensetzen.
Nach einer gewissen Zeit des Wartens erscheint ein Fenster mit dem Android-Studio, wie Sie es in Abbildung 2.3 sehen.
Abbildung 2.3: Android Studio mit geladenem Projekt
Die linke Spalte des Android-Studios enthält den Projekt-Explorer. Darin sehen Sie die Ordner app und Gradle Scripts. Beide wurden beim Anlegen des Projekts von Android Studio erzeugt. Im Ordner app interessieren uns die folgenden Ordner:
manifests: Hierin befindet sich die Datei AndroidManifest.xml. Wenn Sie die Datei doppelt anklicken, erscheint im Editor auf der rechten Seite der Inhalt.
Hier werden der Aufbau und die Rechte einer App abgelegt. Sie sehen jetzt schon, dass die MainActivity eingetragen ist, die den Ausgangspunkt für die App darstellen wird.
java: Hier sind die Java-Quellcodes versammelt. Sie sehen das Package, das Sie bei der Erstellung des Projekts angegeben haben, drei Mal. Wenn Sie das erste davon aufklappen, finden Sie die von Android Studio erstellte MainActivity. Wenn Sie diese doppelt anklicken, erscheint auf der rechten Seite ein Editor mit deren Inhalt.
Die anderen beiden Packages enthalten Unit-Tests, die aber zunächst nicht besonders interessant sind.
res: Hier befinden sich die Ressourcen Ihrer Anwendung. Android verfolgt die Philosophie, möglichst viele Ressourcen in Beschreibungsdateien auszulagern. Damit müssen Sie statische Elemente Ihrer App nicht explizit in Java programmieren. Wenn Sie res aufklappen, erscheint die Aufgliederung der Ressourcen:
drawable
: Hier befinden sich vor
allem Bilder, die in das Programm eingebunden werden sollen. Das könnten Raumschiffe für das Science-Fiction-Spiel sein oder die Icons, die für die Anwendung benötigt werden.
layout
: Hier wird die Anordnung der Kontrollelemente in einer Activity festgelegt. Vieles können Sie sich völlig ohne Programmierkenntnisse zusammenklicken. Prinzipiell könnten Sie so eine Anordnung auch im Java-Programm programmieren. Das ist inzwischen aber nicht mehr üblich. Wenn Sie
layout
öffnen, finden Sie die Datei
activity_main.xml
, die das Layout zur
MainActivity
darstellt.
values: Dort werden beispielsweise Texte in strings.xml abgelegt. Sie können zwar die Elemente auch direkt in den Layouts beschriften. Durch die Auslagerung in diese Datei wird es aber leichter, später die Sprache zu wechseln.
Auch Farben und Stile können Sie unter values definieren, damit der visuelle Eindruck der App an allen Stellen gleichartig bleibt.
Lassen Sie sich nicht von den vielen Details erschrecken. Sie werden sie Schritt für Schritt kennenlernen, wenn Sie es benötigen.
Freundlicherweise hat Android Studio bereits ein komplettes Programm automatisch erstellt. Zugegebenermaßen tut dieses nicht besonders viel. Er meldet nur ein »Hallo« an die Welt. Aber trotzdem es hilft uns, schon einmal die Umgebung zu erkunden, und erspart uns später Routinearbeit bei der Erstellung neuer Apps.
Android-Apps werden für Android-Geräte geschrieben und sind nicht unter den klassischen PC-Betriebssystemen ausführbar, auf denen Sie Ihre Programme entwickeln. Um Ihre Programme zu testen, bleiben Ihnen die Möglichkeiten, Ihr Android-Gerät über ein USB-Kabel mit dem Computer zu koppeln oder einen Emulator zu starten.
Wenn Sie ein Programm starten, wird Android Studio sich umschauen, ob ein Emulator oder ein Gerät über USB zur Verfügung steht. Dabei bevorzugt es ganz klar die echte Hardware. Welches Gerät verwendet wird, sehen Sie in der Zeile unterhalb der Menüleiste. In Abbildung 2.4 sehen Sie, dass in meinem Android-Studio ein Emulator für das Nexus 5X unter API 27 aktiv ist. Das wird bei Ihnen vermutlich geringfügig anders aussehen. Sie sehen aber sicherlich das