Englisch version   English version


Version Anpassungen
1.0 (2020-02-29 Initiale Version

In­halts­ver­zeich­nis

Download

Verwendung

Ereignisse onPause, onStop, onResume

StringToHex

Image-Import

Werkzeuge

Download

Das ZIP-Archiv UrsAI2Utils zum Download. Das Archiv enthält den Quellcode, das kompilierte Binary zum Upload in den App Inventor und eine Beispiel-Anwendung.

Verwendung

Die Extension stellt Funktionen für drei Funktionsbereiche zur Verfügung.

Ereignisse onPause, onStop, onResume

Die folgende Grafik stellt den Lebenszyklus einer Android Activity dar.

State diagram for an Android Activity Lifecycle.

Für manche Anwendungen kann es interessant sein, in welchen Zustand sich die App gerade befindet. Die Extension stellt Ereignisse bereit, die bei einem Zustandswechsel ausgelöst werden. Über das App Inventor Framework sind leider nur vier dieser Wechsel abgreifbar. onCreate ist bereits in der Screen-Komponente als Initilalize implementiert. onPause, onStop, onResume werden durch diese Extension bereit gestellt.

Block Funktion
Initialize Das Initialize-Ereignis wird beim Start des Bildschirms ausgeführt und nur einmal pro Bildschirm ausgeführt.
onPause Die App wird (teilweise) verdeckt. Benutzereingaben werden nicht akzeptiert.1)
onStio Die App wird in den Hintergrund verlagert.
onResume Die App wird sichtbar und akzeptiert Benutzereingaben.

1) Bei allen meinen Versuchen zu diesen Ereignissen, wurde nach onPause auch stets onStop ausgelöst.

StringToHex

Diese Funktion soll das Debugging erleichtern. Besonders wenn es um Datenaustausch geht kann es interessant sein zu wissen, wie die interne Darstellung eines Srtings ist. Normalerweise ist er UTF-8 kodiert.

Block Funktion
ConvertToHexString Der String im Argument Text wird in einen String konvertiert, der die Hexadezimaldarstellung der einzelnen Zeichen enthält. z.B. "abcß" wird zu "61 62 63 C3 9F".

Image-Import

Mit der MQTT-Extension lassen sich Byte-Arrays übertragen, dies können z.B. auch JPEG-Images sein. Die Methode konvertiert das Empfange Byte-Array in ein Bitmap-Objekt und zeigt es auf einem im App Inventor enthaltenen Komponente Image an. Diese Methode darf nicht mit der Eigenschaft Picture der Komponente verwechselt werden! Picture erwartet den Dateipfad auf eine Image-Datei.

Block Funktion
Image-Import JPEG: Byte-Array, dass ein JPEG-Image enthält.
ImageBlock: Eine Komponente vom Typ Image, auf der das Bild angezeigt werden soll.
Rotation: Rotationswinkel für Bildanzeige.

Eine typische Verwendung des Blocks könnte so aussehen:

Verwendung JPEGtoImageBlock

Werkzeuge

Für die Erstellung eigener Extensions habe ich einige Tipps zusammengestellt: AI2 FAQ: Extensions entwickeln.