Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
118<br />
it professional<br />
EigEnE Apps<br />
Das virtuelle Handy ist bereit:<br />
Mit dem Mauszeiger greifen Sie<br />
auf die gleichen Funktionen<br />
zu, die Sie von Ihrem eigenen<br />
Android-Smartphone kennen.<br />
hören Sie ein zartes Maunzen. Ihre Apps geben<br />
Sie als so genanntes Application Package<br />
(.apk) weiter. Wenn Sie im AI Designer auf<br />
die Schaltfläche Package for Phone klicken,<br />
stehen Ihnen im aufklappenden Menü drei<br />
Optionen zur Auswahl: Wenn Sie Ihr Telefon<br />
angeschlossen haben, wählen Sie Download<br />
to connected phone, um die App direkt auf Ihr<br />
Handy zu installieren. Wollen Sie die .apk-Datei<br />
selbst, speichern Sie sie über die Option<br />
Download to this Computer. APK-Dateien können<br />
Sie per ADB-Programm auf Smartphones<br />
installieren.<br />
Die Beispielprojekte des Artikels finden Sie<br />
als Application Package auf der Heft-<strong>DVD</strong>.<br />
Anspruchsvolle Anwendungen<br />
Sie brauchen bei der Android-App-Entwicklung<br />
viele Basisfunktionen nicht neu aufzusetzen,<br />
sondern verwenden einfach die<br />
vorhandenen, die in den meisten Fällen bereits<br />
als AI-Komponenten integriert sind. Auf<br />
diese Weise gelingt es Ihnen, beeindruckend<br />
leistungsfähige Apps ohne großen Aufwand<br />
und <strong>mit</strong> überschaubaren<br />
Blockstrukturen zu entwickeln.<br />
Eine App <strong>mit</strong> Kamerafunktion<br />
und Bildanzeige ist<br />
beispielsweise <strong>mit</strong> wenigen<br />
Handgriffen fertig. Erstellen<br />
Sie im AI Designer ein neues<br />
Projekt. Ziehen Sie eine<br />
Camera-Komponente aus<br />
der Kategorie Media auf den<br />
Viewer. Der Benutzer der App<br />
soll später per Button-Klick<br />
die Kamerafunktion aufrufen<br />
und ein Foto schießen können,<br />
das dann zusammen<br />
<strong>mit</strong> dem Verzeichnispfad<br />
der gespeicherten Bilddatei<br />
auf dem Display angezeigt<br />
wird. Zur Anzeige des Fotos<br />
verwenden Sie ein Image- und für die Anzeige<br />
des Verzeichnispfades ein Label-Element. Außerdem<br />
benötigen Sie einen Button. Fügen Sie<br />
diese Komponenten ebenfalls Ihrer App hinzu.<br />
Die Kamera erscheint als nicht sichtbare Komponente<br />
im Komponentenfach unterhalb des<br />
Viewers. Ändern Sie die Text-Eigenschaft des<br />
Buttons zu Fotografieren und die des Labels<br />
zu Speicherort des Fotos. Außerdem bietet es<br />
sich an, für das Screen-Element einen Titel zu<br />
vergeben (Eigenschaft Title), z.B. Fotokamera<br />
<strong>mit</strong> Bildanzeige.<br />
Rufen Sie nun den Blocks Editor auf. Ziehen<br />
Sie dort den Ereignisblock Button1.Click (Register<br />
My Blocks) auf die Editorfläche und klinken<br />
Sie in diesen die Methode Camera1.Take-<br />
Picture ein. In dieser Methode sind sämtliche<br />
Funktionen implementiert, die zum Aufruf<br />
der Systemkamera notwendig sind. Sie müssen<br />
jetzt nur noch dafür zu sorgen, dass das<br />
Foto und dessen Speicherort auf dem Display<br />
erscheinen. Dafür benötigen Sie eine zweite<br />
Ereignisroutine, die das Camera-Objekt<br />
zur Verfügung stellt. Schauen Sie sich einfach<br />
im Register My Blocks die zur Verfügung<br />
stehenden Member der Camera-Komponente<br />
an. Sie finden dort außer dem Objekt selbst<br />
(Camera1) die bereits verwendete Methode<br />
TakePicture und den Ereignisblock Camera1.<br />
AfterPicture.<br />
Ziehen Sie den Ereignisblock Camera1.After-<br />
Picture auf den Editor. Das da<strong>mit</strong> verbundene<br />
Ereignis tritt automatisch ein, nachdem der<br />
Benutzer ein Foto aufgenommen hat. Nun gilt<br />
es, in diesem Block zu definieren, was daraufhin<br />
geschehen soll. Die Ereignismethode<br />
AfterPicture besitzt einen Parameter image,<br />
der den Verzeichnispfad der Bilddatei enthält.<br />
Das entsprechende Verbindungsstück klinkt<br />
sich im Kopf des Ereignisblocks automatisch<br />
ein, nachdem Sie diesen in den Editor gezogen<br />
haben. Das Verbindungsstück für den<br />
Wert der Variablen finden Sie in der Kategorie<br />
My Definitions. Um den Text für ein Label zu<br />
ändern, weisen Sie der gleichnamigen Eigenschaft<br />
den neuen Text als Wert zu. Integrieren<br />
Sie also den Eigenschaftsblock set Label1.Text<br />
to in den Ereignisblock Camera1.AfterPicture<br />
und weisen Sie den Wert der Variablen image<br />
zu. Anschließend machen Sie es <strong>mit</strong> set<br />
Image1.Picture to und value image genauso.<br />
Die Eigenschaft Picture der Image-Komponente<br />
verweist auf die anzuzeigende Bilddatei,<br />
deren Pfad Sie ebenfalls als Wert zuweisen.<br />
Da<strong>mit</strong> ist die Kamera-App auch schon fertig.<br />
Die vollständige Blockstruktur entnehmen Sie<br />
der Abbildung unten. Zum Testen benötigen<br />
Sie ein Smartphone, da der Emulator keine<br />
Kamerafunktion zur Verfügung stellt.<br />
So trivial die visuelle Entwicklung von Android-Apps<br />
<strong>mit</strong> Google App Inventor auf den<br />
ersten Blick möglicherweise anmutet, sind<br />
der Komplexität von anspruchsvollen Apps<br />
dennoch keine Grenzen gesetzt. Tatsächlich<br />
können Sie <strong>mit</strong> AI so ziemlich alles erreichen,<br />
was Ihnen vorschwebt (siehe auch die<br />
Buchbesprechung in dieser Augabe). whs<br />
Block-Editor und Simulator: In einander geschachtelte Blöcke: Mit when ...<br />
do-Blöcken definieren Sie Ereignishandler, <strong>mit</strong> call-Blöcken rufen Sie die<br />
passenden Methoden auf.<br />
Blockstruktur der Kamera-App: Mit zwei grafisch aufbereiteten<br />
Ereignismethoden ist alles erledigt.<br />
<strong>PC</strong> <strong>Magazin</strong> 10/2011 www.pc-magazin.de