Android-Apps - Programmierung für Einsteiger - *ISBN

Android-Apps - Programmierung für Einsteiger - *ISBN
Inhaltsverzeichnis
Vorwort von Hal Abelson
11
Vorwort des Autors
13
V.1
Danksagung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Einleitung
E.1
E.2
E.3
17
Aufbau und Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Voraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Historie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Teil 1 Vorbereitung auf die erste eigene App
27
1
Vorbereitung und Installation
29
1.1
30
30
33
38
43
46
51
1.2
1.3
1.4
2
Systemvoraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1 Computer-Plattform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2 Android-Plattform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.3 Java-Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zugangsdaten für App Inventor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installation der App Inventor Setup Software . . . . . . . . . . . . . . . . . . . . . . . .
Android-Endgerät einstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Entwicklungsumgebung
57
2.1
2.2
58
59
61
63
64
66
67
68
69
72
75
77
78
79
84
84
87
87
2.3
2.4
Willkommen bei App Inventor! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
App Inventor „Designer“. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Projekt anlegen im Designbereich . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Fünf Funktionsbereiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3 Inventar an Komponenten aus der Palette . . . . . . . . . . . . . . . . . . . .
2.2.4 Gestaltung mit Komponentenobjekten im Viewer . . . . . . . . . . . . . .
2.2.5 Objekte strukturieren unter Components und Media . . . . . . . . . . .
2.2.6 Komponenteneigenschaften einstellen unter Properties . . . . . . . . .
2.2.7 App-Projekte verwalten und speichern . . . . . . . . . . . . . . . . . . . . . .
App Inventor „Blocks Editor“ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 App-Funktionen entwickeln aus Blöcken . . . . . . . . . . . . . . . . . . . . .
2.3.2 Generische Blockgruppen unter Built-In . . . . . . . . . . . . . . . . . . . . .
2.3.3 Komponentenspezifische Blöcke unter My Blocks . . . . . . . . . . . . . .
2.3.4 Apps implementieren und bearbeiten im Editor . . . . . . . . . . . . . . .
Android-Phone integrieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1 Smartphone mit Blocks Editor verbinden . . . . . . . . . . . . . . . . . . . . .
2.4.2 Neustart bei „Hängern“ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.3 Beenden der Arbeitssitzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
Inhaltsverzeichnis
2.5
3
Startschwierigkeiten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.1 Wenn der Blocks Editor nicht startet . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2 Wenn die Verbindung zum Smartphone stockt . . . . . . . . . . . . . . . .
2.5.3 Bei sonstigen Problemen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.4 Das AI-Forum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
89
89
92
94
95
Einstieg in die App-Entwicklung
99
3.1
3.2
100
103
104
108
109
110
113
116
118
120
122
124
127
130
133
135
136
138
144
150
155
3.3
3.4
Das Projekt „Lachsack“ anlegen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Benutzerschnittstelle gestalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 Komponente „Label“ einfügen . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.2 Komponentennamen vergeben . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.3 Eigenschaften einstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.4 Offene Angelegenheit „Umlaute“ beachten . . . . . . . . . . . . . . . . .
3.2.5 Interaktive Komponente „Button“ ergänzen . . . . . . . . . . . . . . . . .
3.2.6 Mediendatei hochladen und einbinden . . . . . . . . . . . . . . . . . . . . .
3.2.7 Optimierung des App-Designs . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.8 Nichtsichtbare Komponente „Sound“ . . . . . . . . . . . . . . . . . . . . . .
App-Funktionalität entwickeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Interaktive App-Logik entwerfen . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2 Funktionale Blockstruktur implementieren . . . . . . . . . . . . . . . . . . .
3.3.3 Projekt lokal sichern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.4 Falls das Lachen ausbleibt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
App erzeugen und installieren. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.1 Direkte Installation auf dem Smartphone . . . . . . . . . . . . . . . . . . . .
3.4.2 Ein passendes Icon für die App . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.3 Online-Installation per Barcode . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.4 Download der APK-Datei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.5 Android-Market . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Teil 2 Einsteiger-Projekte zum Aufwärmen
159
4
161
Grundbegriffe und zentrale Konzepte
4.1
4.2
4.3
5
Die AI-Referenzen
5.1
5.2
5.3
6
Eigenschaften und Eigenschaftsblöcke . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Ereignisse und Ereignisroutinen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Methoden und Methodenblöcke. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Grafische Benutzeroberfläche
6.1
6.2
6.3
6.4
6
167
Komponenten-Referenz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Block-Referenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Konzept-Referenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
175
Texte anzeigen mit Label. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aktionen auslösen mit Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Optionen auswählen mit CheckBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Text eingeben mit TextBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
176
178
182
188
Inhaltsverzeichnis
6.5
6.6
6.7
6.8
7
Multimedia
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
7.9
8
Vertraulichen Text eingeben mit PasswordTextBox . . . . . . . . . . . . . . . . . .
Meldungen aufzeigen mit Notifier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bildschirmanzeige ordnen mit Screen Arrangement . . . . . . . . . . . . . . . . . .
Aktionen beim App-Start ausführen mit Screen . . . . . . . . . . . . . . . . . . . . .
205
Varianten für den Medienzugriff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Grundprinzip Synergie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Lokale und Online-Bilder anzeigen mit Image . . . . . . . . . . . . . . . . . . . . . . 210
Fotos machen und anzeigen mit Camera . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Bilder managen mit ImagePicker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Tonsignale und Vibration mit Sound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Audiodateien wiedergeben mit Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Filme abspielen mit VideoPlayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Audio aufnehmen mit SoundRecorder . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Beispielprojekt
8.1
8.2
191
194
197
201
245
Ergonomisches Re-Design zum Media Center . . . . . . . . . . . . . . . . . . . . . . 245
Multiple Screens für das Media Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Teil 3 Auf dem Weg zum App-Entwickler
255
9
257
Einmaleins der Programmentwicklung
9.1
9.2
9.3
9.4
9.5
Elemente der Datenverarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.1.1 Datentypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.1.2 Datenstrukturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.1.3 Kontrollstrukturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Farben einsetzen mit Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.2.1 Vordefinierte Farben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.2.2 Beliebige Farben selber mischen . . . . . . . . . . . . . . . . . . . . . . . . .
Zahlen verarbeiten mit Math . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.3.1 Grundrechenarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.3.2 Wissenschaftliches Rechnen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.3.3 Zufallszahlen generieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.3.4 Sortieren und konvertieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.3.5 Vergleichsoperatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Programmzustände prüfen mit Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.1 Die booleschen Wahrheitswerte . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.2 Verknüpfungsoperatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Texte und Zeichenketten bearbeiten mit Text . . . . . . . . . . . . . . . . . . . . . .
9.5.1 Vergleichen und sortieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.5.2 Verknüpfen und verändern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.5.3 Inhalte prüfen und heraussuchen . . . . . . . . . . . . . . . . . . . . . . . . . .
9.5.4 Strings zerlegen und Listen generieren . . . . . . . . . . . . . . . . . . . . .
7
258
259
260
262
262
263
263
265
265
266
266
267
268
268
269
269
271
271
273
274
275
Inhaltsverzeichnis
9.6
Container-Strukturen definieren mit Definition . . . . . . . . . . . . . . . . . . . . . .
9.6.1 Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.6.2 Prozeduren und Argumente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.6.3 Prozeduren mit Rückgabewerten . . . . . . . . . . . . . . . . . . . . . . . . . .
9.7 Listen verwalten mit List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.7.1 Listeninhalt prüfen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.7.2 Listenelemente suchen und auslesen . . . . . . . . . . . . . . . . . . . . . . .
9.7.3 Einträge ergänzen, ersetzen und entfernen . . . . . . . . . . . . . . . . . .
9.8 Programmablauf steuern mit Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.8.1 Bedingte Anweisungen und Verzweigungen (if-then-else) . . . . . .
9.8.2 Schleifen zur Listenverarbeitung (foreach) . . . . . . . . . . . . . . . . . . .
9.8.3 Generische Schleifen (while) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.8.4 Apps kontrolliert beenden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.9 Hinweise zur Programmentwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.9.1 Mehr Arbeitsfläche durch komprimierte Blockdarstellung . . . . . . .
9.9.2 Mehr Durchblick mit Kommentaren . . . . . . . . . . . . . . . . . . . . . . . .
9.9.3 Warn- und Fehlerhinweise bei der Live-Entwicklung . . . . . . . . . . .
9.9.4 Testen und Debuggen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.9.5 Schneller und bequemer entwickeln . . . . . . . . . . . . . . . . . . . . . . .
9.10 Beispielprojekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.10.1 Ein klassischer Taschenrechner . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.10.2 Ratespiel mit Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.10.3 Vokabeltrainer Deutsch – Englisch . . . . . . . . . . . . . . . . . . . . . . . . .
10 Speichern und Datenbanken
278
279
281
284
286
287
288
289
290
292
295
298
306
307
307
310
311
314
318
319
319
327
332
345
10.1 Daten lokal speichern mit TinyDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.1.1 Variablenwerte als persistente Daten sichern . . . . . . . . . . . . . . . . .
10.1.2 Laden lokaler Daten aus einem Wörterbuch . . . . . . . . . . . . . . . . .
10.1.3 Datenbestand auf Systemebene löschen . . . . . . . . . . . . . . . . . . . .
10.2 Daten im Web speichern mit TinyWebDB. . . . . . . . . . . . . . . . . . . . . . . . . .
10.2.1 Das Wörterbuch in die Cloud auslagern . . . . . . . . . . . . . . . . . . . .
10.2.2 Gemeinsame Datenbasis für Master- und Client-Apps . . . . . . . . .
346
348
352
354
355
358
365
Teil 4 Ansprechende Apps entwickeln
369
11 Grafik und Animation
371
11.1 Malen wie auf einer Leinwand mit Canvas . . . . . . . . . . . . . . . . . . . . . . . . .
11.1.1 Bunte Tupfer mit verschiedenen Pinselstärken . . . . . . . . . . . . . . .
11.1.2 Strichzeichnungen mit dem Finger . . . . . . . . . . . . . . . . . . . . . . . . .
11.1.3 Ein Malprogramm mit Undo-Funktion . . . . . . . . . . . . . . . . . . . . . .
11.2 Animationen mit Ball und ImageSprite . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2.1 Grafikobjekte bewegen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2.2 Kollisionserkennung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2.3 Ein 2D-Squash-Spiel mit dynamischer Animation . . . . . . . . . . . . .
8
372
374
379
382
385
390
392
396
Inhaltsverzeichnis
11.3 Automatisierte Vorgänge steuern mit Clock . . . . . . . . . . . . . . . . . . . . . . . .
11.3.1 Beliebige Animationen von außen steuern . . . . . . . . . . . . . . . . . .
11.3.2 Keyframe-Animation mit dem Finger . . . . . . . . . . . . . . . . . . . . . . .
11.3.3 Ein Wecker mit Timer-Ereignissen . . . . . . . . . . . . . . . . . . . . . . . . .
12 Sensoren
417
12.1 Orientierung messen mit dem OrientationSensor. . . . . . . . . . . . . . . . . . . .
12.1.1 Grundlagen der sensorischen Orientierungsmessung . . . . . . . . . .
12.1.2 Ein Marschkompass mit grafischer Richtungsanzeige . . . . . . . . . .
12.1.3 Eine Wasserwaage mit grafischer Neigungsanzeige . . . . . . . . . . .
12.2 g-Kraft messen mit dem AccelerometerSensor . . . . . . . . . . . . . . . . . . . . . .
12.2.1 Grundlagen der Beschleunigungsmessung . . . . . . . . . . . . . . . . . .
12.2.2 Rhythmisches Schütteln zum Klang eines Shakers . . . . . . . . . . . . .
12.2.3 Per Schieberegler die Messempfindlichkeit regeln . . . . . . . . . . . .
12.2.4 Balancespiel mit Ganzkörpereinsatz . . . . . . . . . . . . . . . . . . . . . . . .
12.3 Geo-Position bestimmen mit dem LocationSensor . . . . . . . . . . . . . . . . . . .
12.3.1 Hintergründe zu GPS und ortsbezogenen Diensten . . . . . . . . . . .
12.3.2 Über Geokoordinaten und Dezimaltrennzeichen . . . . . . . . . . . . . .
12.3.3 Ein Geotracker zum Erfassen von Streckenprofilen . . . . . . . . . . . .
12.3.4 Geocaching mit dem Smartphone . . . . . . . . . . . . . . . . . . . . . . . . .
13 Kommunikation
399
402
407
411
418
419
421
425
429
429
432
435
439
445
446
448
452
463
475
13.1 Aufgabenstellung: Autofahrer-Assistenzsystem . . . . . . . . . . . . . . . . . . . . .
13.1.1 Bedarf, Funktionen und Anforderungen . . . . . . . . . . . . . . . . . . . .
13.1.2 Modulare Gestaltung der App-Struktur . . . . . . . . . . . . . . . . . . . . .
13.1.3 Schaltzentrale mit multiplen Screens . . . . . . . . . . . . . . . . . . . . . . .
13.2 Telefonieren per Kurzwahlliste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.2.1 Rufnummern auswählen mit PhoneNumberPicker . . . . . . . . . . . . .
13.2.2 Eigene Kurzwahlen selektieren mit ListPicker . . . . . . . . . . . . . . . . .
13.2.3 Telefonnummer anrufen mit PhoneCall . . . . . . . . . . . . . . . . . . . . .
13.3 SMS vollautomatisch managen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.3.1 Rückantwort mit optionaler Geoposition generieren . . . . . . . . . . .
13.3.2 Vorlesen und Sprachausgabe mit TextToSpeech . . . . . . . . . . . . . .
13.3.3 Diktieren und Spracherkennung mit SpeechRecognizer . . . . . . . .
13.3.4 SMS empfangen, auswerten und senden mit Texting . . . . . . . . . .
13.4 Datenaustausch per Schnittstelle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.4.1 Apps und Web-Services mitnutzen per ActivityStarter . . . . . . . . .
13.4.2 Fußgänger-Navigation mit integrierten Google Maps . . . . . . . . . .
13.4.3 Auto-Navigation mit integrierter Google Navigation . . . . . . . . . .
13.4.4 Beliebige Activities ermitteln und nutzen mit ADB . . . . . . . . . . . .
13.4.5 Kontakte selektieren mit EmailPicker und ContactPicker . . . . . . . .
13.4.6 E-Mails verschicken mit integriertem Android Mailer . . . . . . . . . .
9
477
477
479
480
483
485
488
490
492
495
496
498
501
504
505
511
517
520
522
526
Inhaltsverzeichnis
Teil 5 Nützliches für den Entwickler
537
14 Spezielle Funktionsbereiche
539
14.1 Anwendungsspezifische Komponenten. . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.1.1 Zwitschern mit Twitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.1.2 Strichcodes lesen mit BarcodeScanner . . . . . . . . . . . . . . . . . . . . .
14.1.3 Online abstimmen mit Voting . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.2 Dedizierte Komponentengruppen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.2.1 Online Multiplayer Games mit GameClient . . . . . . . . . . . . . . . . . .
14.2.2 Datenaustausch mit BluetoothClient und BluetoothServer . . . . . .
14.2.3 Roboter steuern mit der Gruppe „Lego Mindstorms“ . . . . . . . . . .
15 Tipps & Tools
549
15.1 Arbeiten mit dem Android Emulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.1.1 Individuelle Konfiguration im Entwicklerforum . . . . . . . . . . . . . . . .
15.1.2 Standardversion mit App Inventor . . . . . . . . . . . . . . . . . . . . . . . . .
15.1.3 Bedienung des Emulators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.1.4 Integration in die AI-IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.2 Unterstütze Medienformate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.2.1 Audioformate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.2.2 Bildformate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.2.3 Videoformate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.2.4 Neues vom Entwicklerforum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.3 Kontrolle mit der Java-Konsole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.3.1 Konsole aktivieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.3.2 Ladevorgänge von AI überwachen . . . . . . . . . . . . . . . . . . . . . . . . .
15.3.3 Statusinformationen nutzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.4 Einrichtung des Sprachmoduls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.4.1 Text-to-Speech installieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.4.2 Sprachsynthese-Einstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.4.3 Bei Problemen mit der Sprachausgabe . . . . . . . . . . . . . . . . . . . . .
Anhang
A.1
A.2
A.3
A.4
10
549
550
551
552
555
556
557
557
558
558
559
559
560
562
563
564
565
567
571
Auf der Website zum Buch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Online-Quellen und interessante Links . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2.1 Offizielle Ressourcen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2.2 Initiativen, Tutorials und Beispielsammlungen . . . . . . . . . . . . . . . .
A.2.3 Hintergründe, Historie und Ausblick . . . . . . . . . . . . . . . . . . . . . . .
Original-Vorwort von Hal Abelson. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Der Autor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stichwortverzeichnis
539
540
541
542
543
543
544
546
571
572
572
573
574
574
576
579
Kapitel 1
Vorbereitung und
Installation
Im Unterschied zu vielen anderen Büchern und Themengebieten, in denen Besonderder Vorbereitung und Installation der benötigten Systemumgebung und heiten der
Software – wenn überhaupt – nur ein kurzer Textabschnitt zugebilligt wird, Beta-Phase
widmet dieses Buch ein ganzes Kapitel dieser wichtigen Ausgangsarbeit.
Dies hat mehrere Gründe. So handelt es sich bei AI um eine Entwicklungsumgebung in der Beta-Phase (fortgeschrittene Testphase vor der finalen
Version eines Software-Produkts), in der besonders bei der Installation
beziehungsweise dem Software-Zugang einige Besonderheiten zu berücksichtigen und zu erklären sind, die bei einem späteren, stabilen finalen
Release voraussichtlich weniger von Bedeutung sein werden. So ist man
beim derzeitigen Einsatz von AI noch sehr „nah“ an den Entwicklungsprozessen und auch den Entwicklern von Google, die mit sehr viel Engagement
an dem Ausbau, der Verbesserung und der etwaigen Fehlerbehebung von
AI arbeiten, und bekommt etwaige Anpassungen oder Neuerungen relativ
zeitnah und direkt mit. Ebenso ist zu berücksichtigen, dass sich sowohl dieses Buch als auch AI selbst vor allem an den unerfahrenen Einsteiger mit
geringen beziehungsweise keinen Erfahrungen in der Entwicklung und Programmierung von Software-Anwendungen richten. Insofern kann davon
ausgegangen werden, dass für einen Teil der Leserschaft das selbstständige
Einrichten einer Entwicklungsumgebung nicht zwangsläufig zum Tagesgeschäft gehört und eine schrittweise Anleitung durchaus hilfreich sein kann.
Dass dieser Bedarf selbst bei den frühen und technikorientierten Beta-Nutzern von AI besteht, haben nicht zuletzt auch die vielen diesbezüglichen Fragen auf der AI Google Group gezeigt.
Im gegenwärtigen Beta-Stadium handelt es sich bei AI noch nicht um ein voll- Computer und
ständig abgerundetes Produkt, das neben einer ausführlichen Produktdoku- Smartphone
mentation auch über eine umfangreiche Installationsanleitung beziehungs- vorbereiten
weise eine komfortable, vollautomatisierte Installationsroutine verfügt, wie
dies bei kommerziell ausgereiften Software-Produkten üblich ist. Nichtsdestotrotz sind die bereits integrierten Funktionen stabil und werden in der Regel
auch bei zukünftigen Anpassungen beibehalten beziehungsweise ausgebaut. Die hier getroffenen Aussagen beziehen sich also vor allem auf den Ins-
29
Kapitel 1: Vorbereitung und Installation
tallationsprozess und dessen Dokumentation, der noch einer gewissen Dynamik unterworfen ist. Die Prioritäten der engagierten Google-Entwickler liegen
derzeit vor allem auf der Weiterentwicklung der technischen Funktionalität
und Leistungsfähigkeit von AI, sodass die Anleitung durch den bisweilen
noch holprigen Installationsprozess anderen Autoren beziehungsweise deren
Büchern – wie dem vorliegenden – überlassen bleibt. Und schließlich ist für
das Entwickeln von Apps mit AI auch mehr als nur eine einzelne Arbeitsplattform vorzubereiten, denn entwickelt wird zugleich auf dem Computer und
dem Android-Smartphone.
1.1
Systemvoraussetzungen
Entwicklung Bei den Systemvoraussetzungen für die Entwicklung von Android-Apps ist
auf dem Smart- zwischen den beiden beteiligten Plattformen Computer (fortan PC) und
phone oder Android-Endgerät (fortan Smartphone) zu unterscheiden. Obwohl theoreEmulator
tisch auch bis zu einem gewissen Grad ausschließlich auf dem PC entwickelt
werden könnte und auch dort die selbst erstellten Apps auf einem HandySimulator beziehungsweise sogenannten Emulator getestet werden könnten, ist das Ziel der Entwicklungsarbeit doch ohnehin, die App auf dem
mobilen Endgerät zu verwenden. Insofern werden wir in diesem Buch – wo
immer möglich – einen Teil der Entwicklungsarbeit von vornherein direkt auf
dem Smartphone vornehmen. Sensoren zur Positionsbestimmung (z.B.
GPS) und sonstige Funktionselemente des mobilen Endgeräts müssen dann
auch nicht aufwendig auf dem PC simuliert werden, sondern können direkt
auf dem Smartphone schon während der Entwicklung genutzt werden. Aus
historischer Sicht wurden Endgerät-Emulatoren vor allem in den Anfangszeiten des offenen Betriebssystems Android bei der App-Entwicklung mit der
Programmiersprache Java eingesetzt, noch bevor überhaupt beziehungsweise ausreichend Android-Endgeräte verfügbar waren. Im Kapitel „Tools &
Tricks“ in diesem Buch wird die alternative Arbeitsweise mit dem Emulator
kurz vorgestellt. Grundsätzlich ist zu empfehlen, bei der Installation in der
Reihenfolge der nun folgenden Abschnitte vorzugehen.
1.1.1 Computer-Plattform
Unterstützte Die eigentliche App-Entwicklung mit AI findet auf dem PC statt. Hierbei
Betriebs- unterscheiden sich die Anforderungen der Entwicklungsumgebung AI nicht
systeme von denen anderer Software-Produkte. Schon heute unterstützt AI die gän-
gigen Betriebssysteme und Computer-Plattformen. Welches Betriebssystem
30
Systemvoraussetzungen
auf Ihrem Computer installiert ist, wird in der Regel beim Hochfahren des
Rechners auf der Anmeldeseite angezeigt. Derzeit kann AI auf allen handelsüblichen Computern mit folgenden Betriebssystemen betrieben werden:
쐽
Windows: Windows XP, Windows Vista, Windows 7
쐽
Macintosh (mit Intel-Prozessor): Mac OS X 10.5, 10.6
쐽
GNU/Linux: Ubuntu 8+, Debian 5+
Im Unterschied zu klassischen lokalen Entwicklungsumgebungen wird nur
ein relativ geringer Anteil der AI-Software direkt auf Ihrem PC installiert. Der
größte Teil der Software ist webbasiert, sodass Sie den überwiegenden Teil
Ihrer Entwicklungsarbeit auch direkt in einem Web-Browser vornehmen und
über diesen Client auf die eigentliche AI-Software zugreifen, die auf einem
entfernten Server von Google läuft. Bei diesem Ansatz des sogenannten
Cloud Computing ist sichergestellt, dass Sie immer mit der aktuellsten Version von AI arbeiten und dies grundsätzlich von jedem entsprechend konfigurierten PC im Internet aus tun können. Entsprechend werden später auch
Ihre App-Projekte nicht mehr lokal auf Ihrer Festplatte gespeichert, sondern
können ebenso zentral auf einem von Google bereitgestellten Server verwaltet werden. Voraussetzung dafür ist natürlich, dass Sie bei der Arbeit mit
AI immer online sind und über ein Google-Konto verfügen. Aber keine
Sorge, die Arbeit mit AI gestaltet sich für Sie als Benutzer nicht wesentlich
anders als bei herkömmlichen lokalen Anwendungen.
Webbasierte
Installation
dank Cloud
Computing
Auch bei der Auswahl des bevorzugten Web-Browsers lässt Ihnen AI eine Unterstützte
große Auswahl aus den gängigen Produkten. Generell ist zu empfehlen, Web-Browser
immer die aktuellste Version des gewünschten Browsers zu verwenden. Derzeit können Sie folgende Browser einsetzen:
쐽
Mozilla Firefox 3.6 und höher
쐽
Apple Safari 5.0 und höher
쐽
Google Chrome 4.0 und höher
쐽
Microsoft Internet Explorer 6 und höher
Um zu erfahren, welche Browser-Version auf Ihrem PC installiert ist, bieten
die meisten Browser in der Menüleiste unter dem Menüpunkt „Hilfe“ einen
Eintrag „Über ...“ an. Bei dessen Auswahl wird die installierte Browser-Version angezeigt, wie in Bild 1.1 am Beispiel von Mozilla Firefox Version 3.6.8
auf dem Betriebssystem Windows XP zu sehen ist.
31
Kapitel 1: Vorbereitung und Installation
Bild 1.1:
Anzeige der
installierten
BrowserVersion
Aktualisierung Sollten Sie feststellen, dass Sie über eine ältere als die oben in den Mindes Browsers destanforderungen angegebene Browser-Version verfügen, bieten Ihnen
die meisten Browser auch gleich eine bequeme Aktualisierungsmöglichkeit an. So finden Sie beispielsweise bei Mozilla Firefox unter dem gleichen Menüpunkt „Hilfe“ auch den Eintrag „Nach Updates suchen ...“
(siehe Bild 1.1), dessen Aufruf eine automatisierte Aktualisierung startet.
Ansonsten suchen Sie einfach mit einem passenden Suchbegriff wie beispielsweise „Firefox Update“ in Ihrer bevorzugten Suchmaschine.
Online- Da es sich bei AI um ein sehr dynamisches Produkt handelt, das gerade
Informationen während der Beta-Phase und damit auch zum Zeitpunkt der Drucklegung
dieses Buchs fortwährenden Veränderungen unterworfen ist, kann es natürlich vorkommen, dass sich auch die Systemanforderungen im Laufe der Zeit
verändern. Um immer auf dem aktuellen Stand zu sein, empfiehlt es sich für
Sie als AI-Nutzer, auch direkt auf dem Online-Angebot zu AI nachzulesen,
ob es Aktualisierungen und Änderungen gibt. Wo immer möglich, werden
deshalb in diesem Buch entsprechende direkte Verweise auf die zum Druckzeitpunkt vorhandenen Online-Informationen zu AI angegeben.
32
Systemvoraussetzungen
Online-Updates und aktuelle Hinweise zu den
Systemanforderungen
Den aktuellsten Stand der von AI unterstützten Systeme finden Sie
online unter:
http://appinventor.googlelabs.com/learn/setup/
Grundsätzlich gilt auch hier die Faustformel: Je aktueller Ihre PC-Systemum- Je aktueller,
gebung ist, desto wahrscheinlicher ist es auch, dass diese von AI unterstützt desto besser
wird. Davon auszunehmen sind natürlich Systemumgebungen, die sich
ebenfalls erst in einem Beta-Stadium befinden und bei denen es noch nicht
unterstützte Leistungsmerkmale beziehungsweise die üblichen anfänglichen
Kompatibilitätsschwierigkeiten gibt. Bei offiziellen Software-Releases, die
Sie als Einsteiger vermutlich auf Ihrem System verwenden, wird diese Ausnahme jedoch selten zutreffen. Die oben genannte Faustformel gilt in ähnlicher Weise ebenso für die eingesetzte Android-Plattform.
1.1.2 Android-Plattform
Die Systemanforderungen an das eingesetzte Android-Endgerät sind einerseits überschaubarer, bergen aber aufgrund des noch jungen AndroidMarkts bisweilen mehr Unwägbarkeiten als bei den etablierten ComputerPlattformen und -Betriebssystemen. Die verhältnismäßig kurzen ReleaseZyklen der fortwährend überarbeiteten und erweiterten Android-Betriebssystemversionen erfordern auch entsprechende Anpassungen an die
zuliefernden Software-Produkte wie eben auch AI. Aber auch die GoogleEntwickler setzen dabei auf den Grundsatz der Abwärtskompatibilität.
Dies bedeutet, dass neue Android-Versionen nach Möglichkeit immer
auch den vollen Funktionsumfang älterer Versionen unterstützen, sodass
beispielsweise ältere Android-Apps auch auf den neuesten Android-Endgeräten laufen können. Dieser Grundsatz gilt natürlich nur in diese Richtung, sodass speziell für neuere Android-Endgeräte entwickelte Apps
nicht zwangsläufig auch von älteren Android-Smartphones unterstützt
werden müssen. Vor der Veröffentlichung einer App auf einem Markt ist es
von daher immer sinnvoll, die App auf verschiedenen Android-Versionen
auszuprobieren, um sicherzugehen, dass diese auf möglichst vielen Endgeräten läuft und entsprechend von möglichst vielen Nutzern verwendet
werden kann. Ebenso sind gegebenenfalls herstellerspezifische Oberflächen, wie beispielsweise Sense auf den Android-Endgeräten des Herstellers HTC, zu berücksichtigen.
Abwärtskompatibles
mobiles
Betriebssystem
33
Stichwortverzeichnis
Symbole
< 268
= 268
Numerisch
1970 402
2D-Animation 385
2D-Echtzeitgrafik 371
3D-Echtzeitgrafik 371
3G 34
A
Abwärtskompatibilität 33
AccelerationChanged 431
AccelerometerSensor 430
Accuracy 451, 467
Action 507
Activity 505
Activity Starter 505
ActivityClass 507
ActivityError 510
ActivityPackage 507
ActivityStarter 306, 505
ADB 49, 92, 520
Android Debug Bridge 49
add items to list 289, 335
AddDays 401
AddHours 401
AddMinutes 401
AddMonths 401
AddSeconds 401
AddWeeks 401
AddYears 401
AfterActivity 510
After-Ereignis 240
AfterPicking 222, 486
AfterPicture 218
AfterScan 541
AfterSoundRecorded 237, 240
AfterSpeaking 497
A-GPS 446
AI-Forum 56, 95
Subforen 95
Aktiv bleiben 52
Akzelerometer 34, 429
Algorithmus 257
Alignment 109
alphanumerische Zeichen 271
Altitude 451
altitude 457, 467
AND 269
AndExplorer 153, 208
Android
offenes Betriebssystem 210
Android Debug Bridge 520
ADB 317
Android Developers 558, 572
Android Logs 317
Android Mailers 526
Android Manifest 154
Android Virtual Devices 549
Android-Entwicklerforum 550, 558
Android-Market 155
Angle 420
Angry Birds 371
Animation 371, 385
Ausgangsposition 390
Geschwindigkeit 391
Richtung 391
Animationspfad 385
Anwendungsmenü 143
Anwendungssymbol 138, 143
APK 148
APP_INVENTOR_RESULT 306
append to list 289
AppInventor Blog 573
AppInventor Extender 573
App-to-App 476, 520
App-to-Web 476, 520
Arbeitsbereich 61
Arbeitsspeicher 345
Argument 166, 282
Argumente 281
ASCII 273
579
Stichwortverzeichnis
ASCII-Zeichentabelle 272
Asset 206, 212, 226
Assets 154, 562
asynchrone Webkommunikation 357
Audioformate 557
Audioplayer 227
Ausdruck 320
Ausgangseigenschaften 79
Ausschnittfenster 80
Auswahlkasten
Checkbox 182
Automatic 109
Automatisierung 401
Autorotation 53
AVAILABLE 468
Available 420, 431
AvailableProviders 450, 468
AVD 549
B
BackgroundColor 69, 109
Ball 385
Barcode 145
Generator 145
Scanner 145
Barcode-Scanner 54, 541
Basic 105
bedingte Anweisung 291–292
Befehl 76
BeforeSpeaking 497
Benutzerfreundlichkeit 103
Bereichsmenü 61
Beschleunigungsmesser 34
Beschleunigungssensor 429
Beta-Phase 29, 43
Closed-Beta-Phase 43
Bewegungsprofil 452
Bilddatei 116
Bilder-Galerie 220
Bildformate 557
Block 75
block collapsing 308
Blockauswahl 75
Block-Referenz 258
Blocks 170
Blocks Editor 40, 72
Blockstrukturen 79
Blocktyp 129
Bloggen 540
580
Bluetooth 544
BluetoothClient 544, 546
BluetoothServer 545
boolesche Logik 268
boolesche Werte 269
Bottom-up 245
bottom-up 476
Bounce 393
Breitengrad 448, 451
Bubblesort 267
Buddy-Tracking 447
Built-In 77, 257
Button 105, 178
Button-Generator 141
C
Caches 463
Calculator 321
Camera 215
Canvas 372
case sensitive 271, 288
ceiling 267
CheckBox
Auswahlbox 182
Checkpoint 71
choose 294
Clear 373
Client-App 365
Clock 400
Clock.Now 457, 468, 483
close screen 306, 327, 483
close-screen-with-result 306
Cloud 209, 346, 355
Cloud Computing 31, 355, 505
CollidedWith 395
Color 263
Compilersprachen 311
Complaint
Warnhinweis 312
Completed 235
Components 67, 167
Computeranimation 388
Concatenation
Textverknüpfung 185
Concepts 172
ContactName 486, 524
ContactPicker 523
Container 278
contains 274
Stichwortverzeichnis
Content URL 207
Control 290
Copy & Paste 253, 318
Country 497
CurrentAddress 451, 457, 467
D
Data Store 347
DataUri 508
Dateimanager 208
Daten 255
Datenbankabfrage 340
Datenstrukturen 260, 286
Datentypen 259
Datum 412
Deactivate 312
Debugger 316
Debugging 194, 302
Decoder 556
def variable 279
Deinstallieren 142
dekrementiert 300
Delete 107
Design 61
Designer 59, 103
Dezimaltrennzeichen 449
Diktiergerät 237
Disjunktion 269
Distanz 471
Do it 315
DoScan 541
downcase 273, 336
Download 359
Downloadzeit 226
Drag 379
Dragged 374, 379, 394
DrawCircle 374, 377
DrawLine 374
DrawPoint 373, 376
Dummy Socket 285
Duration 401
E
e 511
EDGE 144
edge 393
EdgeReached 392
Editor 79
eGovernment 543
Eigenschaften 109, 161
Ausgangseigenschaften 161
Eigenschaftsblöcke 161
Eigenschaftsmenü 82
Elements 488
ElementsFromString 488
else-do 294
else-return 294
Email 526
EmailAddress 486, 524
Embedded Computing 548
Emulator 30, 93, 549
Enabled 239, 420, 431, 450
Encoder 556
Endlosschleife 291, 301
eng 497
Entwicklungszyklus 100
Ereignis 125, 163
Ereignisbehandlungsroutine
Ereignisroutine 125
Event Handler 125
Ereignisbehandlungsroutinen 163
Ereignisblock 163
Ereignisroutinen 163
Ereignissteuerung 125
Ergebniswert 284
Ergonomie 103, 210
eSpeak for Android 564
Event Handler
Ereignisbehandlungsroutine 125
eVoting 543
Export 72
ExtraKey 509
Extras Software 46
ExtraValue 509
F
false 235, 269
FAQ 56
Farbe 263
Farb-Formel 264
Farbwert 263, 284
Fehlermeldung 90
fehlertolerant 312
Fehlervermeidung 312
File URL 207
Fill parent 109
Flatrate 228
581
Stichwortverzeichnis
floor 267
flüchtiger Speicher 345
FontBold 109
FontItalic 109
FontSize 109
FontTypeface 109
foreach 295
format as decimal 267
FormatDateTime 483
For-Schleife 295
Fotoalbum 210, 220
Fotokamera 215
Funktionsbereiche 63
Funktionsmenü 61, 75
Funktionstasten 479
G
GameClient 543
GBR 497
generisch 77
generische Blöcke 257
geo 508
Geocaching 463
geografische Koordinaten 448
Geotracker 453
Geo-Tracking 452
Geräte-Manager 50
get start text 306
GetText 499
g-Faktor 429
g-Kraft 429
global 280
globale Variable 280
Google Maps 511
Google Navigation 463, 517
Google TV 34
GPRS 144
GPS 34, 445
GPS-Track 452
Gradmaß 391
Grafik 371
Grundrechenarten 265
g-Sensor 429
GUI 176
H
Haltepunkte 317
HasAccuracy 467
HasAltitude 467
HasLongitudeLatitude 467
582
Haus vom Nikolaus 381
Hausadresse 451
HD-Qualität 371
Header 248
Heading
Richtung 391
Height 109
HelloPurr 133
Hintergrund 401
Hintergrundbild 210
Hinweisfenster
Notifier 194
Höhe 451
Höhenprofil 452
Holzlabyrinth 439
HSDPA 144
HTML5 558
http 508
I
Icon 138
Launcher 139
Menu 139
Icon Design Guidelines 139
IconMenu 251
IDE 57
if 292
ifelse 293, 330
if-then 292
if-then-else 292
Image 116, 211
image 218
ImagePath 221, 223
ImagePicker 220
ImageSprite 385
Implementierung 79
Index 288
Indexposition 290
initialisieren 286
Inkonsistenzen 312
inkrementiert 299
Input 103
Instant 402
Instants 411
Intent 507, 567
Interaktive Komponenten 114
Interpretersprache 311
Interval 388
is a list? 287
is a number? 268
is in list? 288
Stichwortverzeichnis
is list empty? 287
Issues Tracker 111
Iteration 291, 295
J
Java 1.6 38
Java 6 38
Java Control Panel 41, 560
Java System Logs 317
Java VM 90
Java Web Start 40, 73, 560
Funktionstest 40
JNLP-Datei 40
Launcher 41
Java-Applet 39
Java-Konsole 559
Java-Laufzeitumgebung 38
Java VM 38
JRE 38
Java-Test-Webpage 38
JNLP 73
JNLP-Datei 89
join 273
Jukebox 210
K
kalibrieren 424
kein Bild 119
Keyframe-Animation 408
Keyframes 408
kinästhetische Wahrnehmung 433
Kommentare 310
Kompass 34, 421
elektronisch 419
kompilieren 311
Komponenten 64
Komponentenobjekt 106
Objekt 67
Konfigurationstasten 479
Konjunktion 269
Konkatenation 273
Konstante 280
Kontextmenüs 310
Kontrollstrukturen 262, 290
Konvergenz 476
Konvertierung 271
Koordinatenwerte 372
Kurswinkel 465, 471
Kurzwahlliste 483
L
Label 105
Textfeld 176
Lachsack 99, 561
Lagesensor 34, 419
Längengrad 448, 451
Language 497
Latitude 449, 451
latitude 457, 467
LatitudeFromAddress 451
Laufzeit 79, 109
LEGO© MINDSTORMS© 546
length 274
length of list 287
Life-Looging 447
LIFO 460
List 286
Liste 261, 286
Listenelemente 286
ListPicker 482, 488
Live-Entwicklung
inkrementell 311
Live Development 311
Location-based Services 446
LocationChanged 451, 457
LocationSensor.Enabled 483
Logbuch 452
Log-Dateien 317
Logic 235, 268
Logik 182
boolesche Werte 182
lokale Variable 376
lokaler Speicher 345
Longitude 448, 451
longitude 457, 467
LongitudeFromAddress 451
LostFocus 332
M
M2M 501
Machine-to-Machine
M2M 475
Magnitude 420
mailto 530
Majuskel 273
make a list 286
make text 185, 273
MakePhoneCall 490
Malen 383
583
Stichwortverzeichnis
Marschkompass 421
Master-App 365
max 267
Media 68
Media Center 246
Mediendatei
maximale Dateigröße 232
Medientypen 205
Medienzugriff 206
Ausgangseigenschaft 206
interner Speicher 207
Internet 207
SD-Speicherkarte 207
Meldungsbereich 61
Message 502
MessageReceived 502
messageText 502
Messgenauigkeit 451
Methoden 165, 260
Methodenblöcke 165
Mikroblogging 540
min 267
MinimumInterval 121, 225, 228
Minuskel 273
MIT 546
Mitteilungsbereich 61
MMOG 543
MMORPG 543
Mobile Augmented Reality 34, 418
Mobile Computing 548
Modularisierung 477, 480
Moorhuhn 371
MoveTo 395
MP3 229
Multi-Caches 463
Multilanguage Support 111
Multimedia 205
Multiple Screens 201, 246, 249, 480
Musikinstrument 432
My Projects 61, 69
N
name 281
Namensvergabe 108
Navi-Setup 512
NAVSTAR GPS 445
negate 267
New 101
nichtflüchtiger Speicher 345
584
nichtsichtbare Komponente 121
Norden 420
Notationsform Liste 287
Notifier
Hinweisfenster 194
Notifier.AfterChoosing 341
Notifier.ShowChooseDialog 341
Null-Block 279
Nullmeridian 448
number 265, 502
Nutzungsbedingungen 228
NXT
Lego 546
NxtColorSensor 547
NxtDirectCommands 547
NxtDrive 547
NxtLightSensor 547
NxtSoundSensor 547
NxtTouchSensor 547
NxtUltrasonicSensor 547
O
OAuth 541
Objekt
Komponentenobjekt 67
Objektblöcke 161
Online Multiplayer Games 543
Online-Ladestatus 359
Opazität 263
OpenGL ES 371
Operand 269, 320
Operator 269, 320
OR 269
OrientationChanged 421
OrientationSensor 419
OrientationSensor.Yaw 423
Orthodrome 470
ortsgebundene Dienste 446
Osten 420
Output 103
P
p/ms
Geschwindigkeit 391
Package 148
Package for Phone 72
PaintColor 373, 386
Palette 64, 105
Panel 143
Stichwortverzeichnis
Papierkorb 81
Parameter 166
passive gps 468
PasswordTextBox 191
Pause 225, 231
persistente Daten 346
PhoneCall 490
PhoneNumber 486, 490, 502
PhoneNumberPicker 485
PI 279
Pico TTS 566
Picture 218, 486, 524
Pitch 419–420
Pixel 109
Plausibilitätstests 285
Play 225, 227
Player 227
PNG 140
Pong 385
position in list 288
Potenzieren 302
Primärfarben 263
procedure 281
procedureWithResult 284
Projects 61
Properties 68
Provider 450, 468
provider 468
ProviderLocked 450
ProviderName 450
Prozedur 262, 281
Pseudocode 125
Q
QR-Code 54, 145
Query 508
QWERTZ-Tastatur 191
R
Radius 386
random fraction 267
random integer 267, 338
RCX
Lego 546
ReceivingEnabled 502
Redo 83
Referenz 117
Komponenten 64
Referenz-Dokumentation
Reference Documentation 167
Referenztypen 167
Block-Referenz 170
Komponenten-Referenz 167
Konzept-Referenz 172
Remove Complaint 312
removeListItem 290
replace list item 290
RequestBallot 542
ResolveActivity 509
Result 499, 541
Resume 225, 228
return 284
RGB-Farbe 263, 284
RGB-Farbtabelle 264
Roboter
Lego 546
Robotik 548
Roll 419–420
Roll-Nick-Gier-Winkel 419
Roll-Pitch-Yaw Angle 419
RPY 419
Rückgabewert 284
Rückkopplung 225
akustisch 225
haptisch 225
visuell 225
S
Save 71
Save As 71
Saved 83
Schaltzentrale 479
Schema 508
Schiebefenster 80
Schieberegler 435
Schleife 291
Schleifen 262, 295
Schnelltasten 318
Schnittstelle 504
Schnittstellen-Komponente 504
Schrittgröße 391
Schrittintervall 391
Screen 201
Screen Arrangement 197
Verschachtelung 198
Screen1 67, 102
SDK 550, 558
585
Stichwortverzeichnis
SD-Karte 152
segment 274
select list item 288, 338
semantische Fehler 314
SendBallot 542
SendMessage 502
set global 280
Setup Software 46, 92
Sexagesimalformat 449
Shaker 432
Shaking 431
Signatur 74
Sinneskanal 224
Skin 549
SMS 492
Short Message Service 492
Texting 501
Software Development Kit 550
Software Engineering 477, 480
Softwaretechnik 480
Sonderzeichen 110
Sound 120, 224
sound 240
SoundRecorder 237
Source 226, 231, 234
Speak 497
SpeechRecognizer 498
Speech-to-Text 498
Speed 388
split 276
split at first 276
split at spaces 276
Split-Element 276
Split-Methoden 275
Spracheingabe 498
Spracherkennung 498
Sprachsynthese 496, 563
Squash-Spiel 388
Start 231, 234, 237, 239
StartActivity 510
StartedRecording 237
starts at 274
status 468
StatusChanged 451
stereoskopisches 3D 371
Steuerzeichen 296
Stop 225, 231, 237
Stop Watching 316
Stopp 240
StoppedRecording 237
586
Strecke 470
Streckenprofil 452
String 271
Subscreen 247
Süden 420
Synergie 209
syntaktische Fehler 314
Syntax 76
Syntaxregeln 314
Systemkamera 217
SystemTime 401
Systemzeit 402, 411
T
Tablets 34
Tag 347
TakePicture 217
Taschenrechner 319
Telefonieren 483
Telemetrie 475
Terminkalender 414
test 292
Testen 315
Testplattform 355
Text 271
text 272
text= 271
text> 272
TextBox 188
TextColor 109
Textfeld
Label 176
Texting
SMS 501
Textstring 260
TextToSpeech 496
Text-to-Speech 36, 496, 563
Textur 118
Texturierung 118
then-do 292
then-return 294
Timer 400–401, 483
TimerAlwaysFires 401
TimerEnabled 401
TimerInterval 400–401
TinyDB 347
TinyWebDB 357, 454
Title 69
Tonaufnahme 237
Stichwortverzeichnis
Tonsignale 224
Top-down 245
top-down 476
Touch 379
Touched 374, 376
touchedSprite 376
Track Log 452
Traditional Caches 463
Transparenz 263
trim 273
true 235, 269
TTS 563
TTS Extended Service 497, 567
Twitter 540
Twitter API 541
Typeblocking 318
Typkonvertierung 260
U
Ubiquitous Computing 548
Uhrzeit 411
Umlaute 110
UMTS 144
Unbekannte Quellen 54
Undo 83, 382
Uniform Resource Identifier 508
upcase 273
Upload 116, 359
Upload File 117
URI 508
URI-Schema 530
URL 508
URN 508
USA 497
USB-Debugging 52, 54
USB-Treiber 49
UserEmailAddress 542
UserId 542
UTC 402
V
Variable 218, 262, 279, 299
Variablenwert 279
Verbindungsbutton 84
Vergleichsoperatoren 268
Verknüpfungsoperatoren 269
Verknüpfungssymbol 143
Verschachtelung 330
Verzweigung 262, 291–292
Vibrate 225, 227
Videobereich 235
Videoformate 558
Videoplayer 232
Viewer 66
Virtual Reality 418
Visible 109, 235, 252
Vokabeltrainer 333
vorprüfende Schleife 299
Voting 542
W
Warnhinweis
Complaint 312
Wasserwaage 425
Watch 316
Web 2.0 540
Web URL 207
Webcam 212–213
Web-Services 505
Wecker 412
Westen 420
while 298, 300
While-Schleife 299
Widget 143
Width 109
WLAN 34
X
XAccel 431
Y
YAccel 431
Yaw 419–420
YouTube 507
Z
ZAccel 431
Zahlenblock 265
Zählschleife 291, 295
zentrieren 322
Zieldistanz 465
Zoom In 80
Zoom Out 80
Zoom-Schieber 80
Zufallsgenerator 267
Zufallszahl 266, 330
ZXing 541
587
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement