Vorwort von Hal Abelson 11 Vorwort des Autors 13 V.1 Danksagung... 16



Ähnliche Dokumente
Vorwort von Hal Abelson 11 Vorwort des Autors 13 V.1 Danksagung... 16

M 7102 Wenig aktiv im Verein Tätig in der Lehrerausbildung (Sts OU, Goethe-Uni)

Inhaltsverzeichnis. Vorwort von Hai Abelson 11 Vorwort des Autors 13 V.1 Danksagung 16

Android-Apps Programmierung für Einsteiger

Schritt für Schritt Anleitung zum Erstellen einer Android-App zum Ein- und Ausschalten einer LED

Java Script für die Nutzung unseres Online-Bestellsystems

Anleitung. Lesezugriff auf die App CHARLY Termine unter Android Stand:

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

G DATA INTERNET SECURITY FÜR ANDROID

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

Installation und Test von Android Apps in der Entwicklungs- und Testphase

Herzlich Willkommen bei der nfon GmbH

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

Anleitung zum Prüfen von WebDAV

So nutzen Sie die HiDrive App mit Ihrem Android Smartphone

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

:: Anleitung Hosting Server 1cloud.ch ::

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

easytermin App easysolution GmbH 1

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Benutzerleitfaden MobDat-CSG (Nutzung des Heimrechners für dienstliche Zwecke)

Installationshinweise BEFU 2014

Die Dateiablage Der Weg zur Dateiablage

Anwendungsdokumentation: Update Sticker

Logics App-Designer V3.1 Schnellstart

Erste Schritte mit Sharepoint 2013

malistor Phone ist für Kunden mit gültigem Servicevertrag kostenlos.

IVE-W530BT. Bluetooth Software Update Manual mit Android Telefonen

Zugriff auf die elektronischen Datenbanken

CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java

Auskunft über die Kassendaten

Windows 10. Vortrag am Fleckenherbst Bürgertreff Neuhausen.

Installation und Aktivierung von Norton Mobile Security Android

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

4.1 Download der App über den Play Store

Drägerware.ZMS/FLORIX Hessen

Handbuch ZfEditor Stand

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

MetaQuotes Empfehlungen zum Gebrauch von

ecall Anleitung Outlook Mobile Service (OMS)

Client-Systemanforderungen für Brainloop Secure Dataroom ab Version 8.30

Installation älterer Programmversionen unter Windows 7

HANDBUCH ZUR AKTIVIERUNG UND NUTZUNG DER HANDY-SIGNATUR APP

Installation LehrerConsole (für Version 6.2)

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

GeoPilot (Android) die App

Installationsanleitung

VB.net Programmierung und Beispielprogramm für GSV

Client-Systemanforderungen für Brainloop Secure Dataroom ab Version 8.30

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

OP-LOG

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

DOKUMENTATION VOGELZUCHT 2015 PLUS

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE

CADEMIA: Einrichtung Ihres Computers unter Windows

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand:

Information zum SQL Server: Installieren und deinstallieren. (Stand: September 2012)

MAPS.ME. Benutzerhandbuch!

Clientkonfiguration für Hosted Exchange 2010

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

Windows 10 Sicherheit im Überblick

Windows 10 > Fragen über Fragen

Installation des Zertifikats. Installationsanleitung für Zertifikate zur Nutzung des ISBJ Trägerportals

Dokumentation PuSCH App. windows-phone

Updatehinweise für die Version forma 5.5.5

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Microsoft PowerPoint Präsentationen in MP4 (H.264) umwandeln

Dokumentation IBIS Monitor

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

KNX BAOS Gadget. Installations- und Bedienanleitung. WEINZIERL ENGINEERING GmbH. DE Burgkirchen Web:

USB-Driver: Download-Link:

Installation der SAS Foundation Software auf Windows

eridea AG Installation Eclipse V 1.4

Erste Schritte mit WordPress Anleitung WordPress Version 2.8.X

Anwendungspaket Basisautonomie

Leitfaden zur Installation von Bitbyters.WinShutdown

E-Banking so richten Sie Ihren Zugriff ein

TeamViewer App für Outlook Dokumentation

Tipp: Proxy Ausschalten ohne Software Tools

LGK-990HD / LGK-991HD WLAN Cloud Funk-Kamera kurze Bedienungsanleitung

Verwendung des Terminalservers der MUG

Update auf Windows 8.1 Schrittweise Anleitung

Anleitung öffentlicher Zugang einrichten

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Local Control Network Technische Dokumentation

Anleitung zur Installation von SFirm 3.1 inklusive Datenübernahme

vit.w.v. NETRIND basic & mobil NETRIND mobil (für Android-Smartphones)

Installation von Updates

1 Dokumentenmanagement

zwanzignull8 DIE MODULARE VERTRIEBS SOFTWARE im Einsatz für die Sto SE & Co KGaA info@1a-p.com (0)

MailUtilities: Remote Deployment - Einführung

PRESENTEC C-TRACK FÜR BLACKBERRY 8800 & BLACKBERRY CURVE 8310 FUNKTIONSBESCHREIBUNG

Android Apps entwickeln

TELIS FINANZ Login App

Streamserver24.com. Anleitung Auto-DJ

Transkript:

Inhaltsverzeichnis Vorwort von Hal Abelson 11 Vorwort des Autors 13 V.1 Danksagung.................................................. 16 Einleitung 17 E.1 Aufbau und Überblick.......................................... 18 E.2 Voraussetzungen.............................................. 21 E.3 Historie..................................................... 23 Teil 1 Vorbereitung auf die erste eigene App 27 1 Vorbereitung und Installation 29 1.1 Systemvoraussetzungen........................................ 30 1.1.1 Computer-Plattform..................................... 30 1.1.2 Android-Plattform....................................... 33 1.1.3 Java-Konfiguration...................................... 38 1.2 Zugangsdaten für App Inventor.................................. 43 1.3 Installation der App Inventor Setup Software........................ 46 1.4 Android-Endgerät einstellen..................................... 51 2 Die Entwicklungsumgebung 57 2.1 Willkommen bei App Inventor!................................... 58 2.2 App Inventor Designer........................................ 59 2.2.1 Projekt anlegen im Designbereich.......................... 61 2.2.2 Fünf Funktionsbereiche.................................. 63 2.2.3 Inventar an Komponenten aus der Palette.................... 64 2.2.4 Gestaltung mit Komponentenobjekten im Viewer.............. 66 2.2.5 Objekte strukturieren unter Components und Media........... 67 2.2.6 Komponenteneigenschaften einstellen unter Properties......... 68 2.2.7 App-Projekte verwalten und speichern...................... 69 2.3 App Inventor Blocks Editor.................................... 72 2.3.1 App-Funktionen entwickeln aus Blöcken..................... 75 2.3.2 Generische Blockgruppen unter Built-In..................... 77 2.3.3 Komponentenspezifische Blöcke unter My Blocks.............. 78 2.3.4 Apps implementieren und bearbeiten im Editor............... 79 2.4 Android-Phone integrieren...................................... 84 2.4.1 Smartphone mit Blocks Editor verbinden..................... 84 2.4.2 Neustart bei Hängern.................................. 87 2.4.3 Beenden der Arbeitssitzung............................... 87 5

Inhaltsverzeichnis 2.5 Startschwierigkeiten............................................ 89 2.5.1 Wenn der Blocks Editor nicht startet........................ 89 2.5.2 Wenn die Verbindung zum Smartphone stockt................ 92 2.5.3 Bei sonstigen Problemen................................. 94 2.5.4 Das AI-Forum.......................................... 95 3 Einstieg in die App-Entwicklung 99 3.1 Das Projekt Lachsack anlegen................................. 100 3.2 Benutzerschnittstelle gestalten.................................. 103 3.2.1 Komponente Label einfügen........................... 104 3.2.2 Komponentennamen vergeben........................... 108 3.2.3 Eigenschaften einstellen................................. 109 3.2.4 Offene Angelegenheit Umlaute beachten................. 110 3.2.5 Interaktive Komponente Button ergänzen................. 113 3.2.6 Mediendatei hochladen und einbinden..................... 116 3.2.7 Optimierung des App-Designs........................... 118 3.2.8 Nichtsichtbare Komponente Sound...................... 120 3.3 App-Funktionalität entwickeln................................... 122 3.3.1 Interaktive App-Logik entwerfen.......................... 124 3.3.2 Funktionale Blockstruktur implementieren................... 127 3.3.3 Projekt lokal sichern.................................... 130 3.3.4 Falls das Lachen ausbleibt............................... 133 3.4 App erzeugen und installieren................................... 135 3.4.1 Direkte Installation auf dem Smartphone.................... 136 3.4.2 Ein passendes Icon für die App........................... 138 3.4.3 Online-Installation per Barcode........................... 144 3.4.4 Download der APK-Datei................................ 150 3.4.5 Android-Market....................................... 155 Teil 2 Einsteiger-Projekte zum Aufwärmen 159 4 Grundbegriffe und zentrale Konzepte 161 4.1 Eigenschaften und Eigenschaftsblöcke............................ 161 4.2 Ereignisse und Ereignisroutinen................................. 163 4.3 Methoden und Methodenblöcke................................. 165 5 Die AI-Referenzen 167 5.1 Komponenten-Referenz........................................ 167 5.2 Block-Referenz............................................... 170 5.3 Konzept-Referenz............................................ 172 6 Grafische Benutzeroberfläche 175 6.1 Texte anzeigen mit Label....................................... 176 6.2 Aktionen auslösen mit Button................................... 178 6.3 Optionen auswählen mit CheckBox.............................. 182 6.4 Text eingeben mit TextBox..................................... 188 6

Inhaltsverzeichnis 6.5 Vertraulichen Text eingeben mit PasswordTextBox.................. 191 6.6 Meldungen aufzeigen mit Notifier................................ 194 6.7 Bildschirmanzeige ordnen mit Screen Arrangement.................. 197 6.8 Aktionen beim App-Start ausführen mit Screen..................... 201 7 Multimedia 205 7.1 Varianten für den Medienzugriff................................. 205 7.2 Grundprinzip Synergie......................................... 209 7.3 Lokale und Online-Bilder anzeigen mit Image...................... 210 7.4 Fotos machen und anzeigen mit Camera.......................... 214 7.5 Bilder managen mit ImagePicker................................. 220 7.6 Tonsignale und Vibration mit Sound.............................. 224 7.7 Audiodateien wiedergeben mit Player............................ 227 7.8 Filme abspielen mit VideoPlayer................................. 232 7.9 Audio aufnehmen mit SoundRecorder............................ 237 8 Beispielprojekt 245 8.1 Ergonomisches Re-Design zum Media Center...................... 245 8.2 Multiple Screens für das Media Center............................ 249 Teil 3 Auf dem Weg zum App-Entwickler 255 9 Einmaleins der Programmentwicklung 257 9.1 Elemente der Datenverarbeitung................................ 258 9.1.1 Datentypen........................................... 259 9.1.2 Datenstrukturen....................................... 260 9.1.3 Kontrollstrukturen...................................... 262 9.2 Farben einsetzen mit Color..................................... 262 9.2.1 Vordefinierte Farben................................... 263 9.2.2 Beliebige Farben selber mischen......................... 263 9.3 Zahlen verarbeiten mit Math.................................... 265 9.3.1 Grundrechenarten..................................... 265 9.3.2 Wissenschaftliches Rechnen.............................. 266 9.3.3 Zufallszahlen generieren................................. 266 9.3.4 Sortieren und konvertieren............................... 267 9.3.5 Vergleichsoperatoren................................... 268 9.4 Programmzustände prüfen mit Logic............................. 268 9.4.1 Die booleschen Wahrheitswerte.......................... 269 9.4.2 Verknüpfungsoperatoren................................ 269 9.5 Texte und Zeichenketten bearbeiten mit Text...................... 271 9.5.1 Vergleichen und sortieren............................... 271 9.5.2 Verknüpfen und verändern............................... 273 9.5.3 Inhalte prüfen und heraussuchen.......................... 274 9.5.4 Strings zerlegen und Listen generieren..................... 275 7

Inhaltsverzeichnis 9.6 Container-Strukturen definieren mit Definition...................... 278 9.6.1 Variablen............................................. 279 9.6.2 Prozeduren und Argumente.............................. 281 9.6.3 Prozeduren mit Rückgabewerten.......................... 284 9.7 Listen verwalten mit List....................................... 286 9.7.1 Listeninhalt prüfen..................................... 287 9.7.2 Listenelemente suchen und auslesen....................... 288 9.7.3 Einträge ergänzen, ersetzen und entfernen.................. 289 9.8 Programmablauf steuern mit Control............................. 290 9.8.1 Bedingte Anweisungen und Verzweigungen (if-then-else)...... 292 9.8.2 Schleifen zur Listenverarbeitung (foreach)................... 295 9.8.3 Generische Schleifen (while).............................. 298 9.8.4 Apps kontrolliert beenden............................... 306 9.9 Hinweise zur Programmentwicklung.............................. 307 9.9.1 Mehr Arbeitsfläche durch komprimierte Blockdarstellung....... 307 9.9.2 Mehr Durchblick mit Kommentaren........................ 310 9.9.3 Warn- und Fehlerhinweise bei der Live-Entwicklung........... 311 9.9.4 Testen und Debuggen.................................. 314 9.9.5 Schneller und bequemer entwickeln....................... 318 9.10 Beispielprojekte.............................................. 319 9.10.1 Ein klassischer Taschenrechner........................... 319 9.10.2 Ratespiel mit Zahlen.................................... 327 9.10.3 Vokabeltrainer Deutsch Englisch......................... 332 10 Speichern und Datenbanken 345 10.1 Daten lokal speichern mit TinyDB................................ 346 10.1.1 Variablenwerte als persistente Daten sichern................. 348 10.1.2 Laden lokaler Daten aus einem Wörterbuch................. 352 10.1.3 Datenbestand auf Systemebene löschen.................... 354 10.2 Daten im Web speichern mit TinyWebDB.......................... 355 10.2.1 Das Wörterbuch in die Cloud auslagern.................... 358 10.2.2 Gemeinsame Datenbasis für Master- und Client-Apps......... 365 Teil 4 Ansprechende Apps entwickeln 369 11 Grafik und Animation 371 11.1 Malen wie auf einer Leinwand mit Canvas......................... 372 11.1.1 Bunte Tupfer mit verschiedenen Pinselstärken............... 374 11.1.2 Strichzeichnungen mit dem Finger......................... 379 11.1.3 Ein Malprogramm mit Undo-Funktion...................... 382 11.2 Animationen mit Ball und ImageSprite............................ 385 11.2.1 Grafikobjekte bewegen................................. 390 11.2.2 Kollisionserkennung.................................... 392 11.2.3 Ein 2D-Squash-Spiel mit dynamischer Animation............. 396 8

Inhaltsverzeichnis 11.3 Automatisierte Vorgänge steuern mit Clock........................ 399 11.3.1 Beliebige Animationen von außen steuern.................. 402 11.3.2 Keyframe-Animation mit dem Finger....................... 407 11.3.3 Ein Wecker mit Timer-Ereignissen......................... 411 12 Sensoren 417 12.1 Orientierung messen mit dem OrientationSensor.................... 418 12.1.1 Grundlagen der sensorischen Orientierungsmessung.......... 419 12.1.2 Ein Marschkompass mit grafischer Richtungsanzeige.......... 421 12.1.3 Eine Wasserwaage mit grafischer Neigungsanzeige........... 425 12.2 g-kraft messen mit dem AccelerometerSensor...................... 429 12.2.1 Grundlagen der Beschleunigungsmessung.................. 429 12.2.2 Rhythmisches Schütteln zum Klang eines Shakers............. 432 12.2.3 Per Schieberegler die Messempfindlichkeit regeln............ 435 12.2.4 Balancespiel mit Ganzkörpereinsatz........................ 439 12.3 Geo-Position bestimmen mit dem LocationSensor................... 445 12.3.1 Hintergründe zu GPS und ortsbezogenen Diensten........... 446 12.3.2 Über Geokoordinaten und Dezimaltrennzeichen.............. 448 12.3.3 Ein Geotracker zum Erfassen von Streckenprofilen............ 452 12.3.4 Geocaching mit dem Smartphone......................... 463 13 Kommunikation 475 13.1 Aufgabenstellung: Autofahrer-Assistenzsystem..................... 477 13.1.1 Bedarf, Funktionen und Anforderungen.................... 477 13.1.2 Modulare Gestaltung der App-Struktur..................... 479 13.1.3 Schaltzentrale mit multiplen Screens....................... 480 13.2 Telefonieren per Kurzwahlliste.................................. 483 13.2.1 Rufnummern auswählen mit PhoneNumberPicker............. 485 13.2.2 Eigene Kurzwahlen selektieren mit ListPicker................. 488 13.2.3 Telefonnummer anrufen mit PhoneCall..................... 490 13.3 SMS vollautomatisch managen.................................. 492 13.3.1 Rückantwort mit optionaler Geoposition generieren........... 495 13.3.2 Vorlesen und Sprachausgabe mit TextToSpeech.............. 496 13.3.3 Diktieren und Spracherkennung mit SpeechRecognizer........ 498 13.3.4 SMS empfangen, auswerten und senden mit Texting.......... 501 13.4 Datenaustausch per Schnittstelle................................. 504 13.4.1 Apps und Web-Services mitnutzen per ActivityStarter......... 505 13.4.2 Fußgänger-Navigation mit integrierten Google Maps.......... 511 13.4.3 Auto-Navigation mit integrierter Google Navigation.......... 517 13.4.4 Beliebige Activities ermitteln und nutzen mit ADB............ 520 13.4.5 Kontakte selektieren mit EmailPicker und ContactPicker........ 522 13.4.6 E-Mails verschicken mit integriertem Android Mailer.......... 526 9

Inhaltsverzeichnis Teil 5 Nützliches für den Entwickler 537 14 Spezielle Funktionsbereiche 539 14.1 Anwendungsspezifische Komponenten............................ 539 14.1.1 Zwitschern mit Twitter.................................. 540 14.1.2 Strichcodes lesen mit BarcodeScanner..................... 541 14.1.3 Online abstimmen mit Voting............................ 542 14.2 Dedizierte Komponentengruppen................................ 543 14.2.1 Online Multiplayer Games mit GameClient.................. 543 14.2.2 Datenaustausch mit BluetoothClient und BluetoothServer...... 544 14.2.3 Roboter steuern mit der Gruppe Lego Mindstorms.......... 546 15 Tipps & Tools 549 15.1 Arbeiten mit dem Android Emulator.............................. 549 15.1.1 Individuelle Konfiguration im Entwicklerforum................ 550 15.1.2 Standardversion mit App Inventor......................... 551 15.1.3 Bedienung des Emulators............................... 552 15.1.4 Integration in die AI-IDE................................. 555 15.2 Unterstütze Medienformate..................................... 556 15.2.1 Audioformate......................................... 557 15.2.2 Bildformate........................................... 557 15.2.3 Videoformate......................................... 558 15.2.4 Neues vom Entwicklerforum.............................. 558 15.3 Kontrolle mit der Java-Konsole.................................. 559 15.3.1 Konsole aktivieren..................................... 559 15.3.2 Ladevorgänge von AI überwachen......................... 560 15.3.3 Statusinformationen nutzen.............................. 562 15.4 Einrichtung des Sprachmoduls.................................. 563 15.4.1 Text-to-Speech installieren............................... 564 15.4.2 Sprachsynthese-Einstellungen............................ 565 15.4.3 Bei Problemen mit der Sprachausgabe..................... 567 Anhang 571 A.1 Auf der Website zum Buch..................................... 571 A.2 Online-Quellen und interessante Links............................ 572 A.2.1 Offizielle Ressourcen................................... 572 A.2.2 Initiativen, Tutorials und Beispielsammlungen................ 573 A.2.3 Hintergründe, Historie und Ausblick....................... 574 A.3 Original-Vorwort von Hal Abelson................................ 574 A.4 Der Autor................................................... 576 Stichwortverzeichnis 579 10

Kapitel 1 Vorbereitung und Installation Im Unterschied zu vielen anderen Büchern und Themengebieten, in denen der Vorbereitung und Installation der benötigten Systemumgebung und Software wenn überhaupt nur ein kurzer Textabschnitt zugebilligt wird, 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 vollständig abgerundetes Produkt, das neben einer ausführlichen Produktdokumentation auch über eine umfangreiche Installationsanleitung beziehungsweise 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- Besonderheiten der Beta-Phase Computer und Smartphone vorbereiten 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 auf dem Smartphone oder Emulator Bei den Systemvoraussetzungen für die Entwicklung von Android-Apps ist zwischen den beiden beteiligten Plattformen Computer (fortan PC) und Android-Endgerät (fortan Smartphone) zu unterscheiden. Obwohl theoretisch auch bis zu einem gewissen Grad ausschließlich auf dem PC entwickelt werden könnte und auch dort die selbst erstellten Apps auf einem Handy- Simulator 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 Betriebssysteme Die eigentliche App-Entwicklung mit AI findet auf dem PC statt. Hierbei unterscheiden sich die Anforderungen der Entwicklungsumgebung AI nicht von denen anderer Software-Produkte. Schon heute unterstützt AI die gängigen 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. Auch bei der Auswahl des bevorzugten Web-Browsers lässt Ihnen AI eine große Auswahl aus den gängigen Produkten. Generell ist zu empfehlen, immer die aktuellste Version des gewünschten Browsers zu verwenden. Derzeit können Sie folgende Browser einsetzen: Webbasierte Installation dank Cloud Computing Unterstützte Web-Browser 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 Browser- Version Aktualisierung des Browsers Online- Informationen Sollten Sie feststellen, dass Sie über eine ältere als die oben in den Mindestanforderungen 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. Da es sich bei AI um ein sehr dynamisches Produkt handelt, das gerade 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-Systemumgebung ist, desto wahrscheinlicher ist es auch, dass diese von AI unterstützt 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. Je aktueller, desto besser 1.1.2 Android-Plattform Die Systemanforderungen an das eingesetzte Android-Endgerät sind einerseits überschaubarer, bergen aber aufgrund des noch jungen Android- Markts bisweilen mehr Unwägbarkeiten als bei den etablierten Computer- Plattformen und -Betriebssystemen. Die verhältnismäßig kurzen Release- Zyklen der fortwährend überarbeiteten und erweiterten Android-Betriebssystemversionen erfordern auch entsprechende Anpassungen an die zuliefernden Software-Produkte wie eben auch AI. Aber auch die Google- Entwickler 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 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 580

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 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 582

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 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 584

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 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 586