Funktionsbausteine

Einführung

Funktionsbausteine sind Teil eines Logic Flows und bestimmen die eigentliche Logik, die der Entwickler implementieren möchte. Um sie verwenden zu können, müssen sie per Drag and Drop einem Logic Flow hinzugefügt werden.

Typen von Funktionsbausteinen

Variable

Variablen können verwendet werden, um Werte abzuspeichern und sie an anderer Stelle wieder auszulesen. Variablen können ihren Value auf zwei Wegen erhalten:

  • Statisch, indem im Designer ein Wert bei "value" hinterlegt wird
  • Dynamisch, indem der Wert durch einen Getter vergeben wird
AttributBeschreibung
controlTypeDer Typ des Controls. Hier standardmäßig "Variable".
nameName der Variable. Dieser ist wichtig, um an anderer Stelle wieder auf die Variable zugreifen zu können. Daher sollte er auch eindeutig sein
valueWert, der abgespeichert werden soll.

GetProperty

Diese Funktion kann verwendet werden, um den Wert einer Komponente auszulesen und diesen in einer Variable abzulegen. Mit den Attributen previousFunction und nextFunction kann eine Kette von Funktionen aufgebaut werden. previousFunction beschreibt immer die Funktion, die vor dieser ausgeführt wurde und nextFunction die Funktion, die nach dieser ausgeführt werden soll.

AttributBeschreibung
controlTypeDer Typ des Controls. Hier standardmäßig "GetProperty".
functionIdName der Funktion. Dieser wird später benötigt, um eine Kette von Funktionen aufzubauen, daher sollte er eindeutig sein.
previousFunctionDer Name der Funktion, die vor dieser ausgeführt wird. "Start" bedeutet, dass dieser Baustein der erste in der Kette ist.
nextFunctionDer Name der Funktion, die nach dieser ausgeführt wird. "End" bedeutet, dass dieser Baustein der letzte in der Kette ist.
variableDer Name der Variable, in der der auszulesende Wert abgespeichert werden soll.
controlDer Name der Komponente, bei der ein Wert ausgelesen werden soll.
propertyDer Name der Eigenschaft, die bei der oben angegebenen Komponente ausgelesen werden soll.

SetProperty

Diese Funktion kann verwendet werden, um den Wert einer Komponente zu setzen. Dieser wird aus einer Variable ausgelesen oder standardmäßig im Feld "value" hinterlegt.

Zu beachten: Ist "value" definiert UND eine Variable hinterlegt, wird die Variable bevorzugt ausgelesen. Mit den Attributen previousFunction und nextFunction kann eine Kette von Funktionen aufgebaut werden. previousFunction beschreibt immer die Funktion, die vor dieser ausgeführt wurde und nextFunction die Funktion, die nach dieser ausgeführt werden soll.

AttributBeschreibung
controlTypeDer Typ des Controls. Hier standardmäßig "SetProperty".
functionIdName der Funktion. Dieser wird später benötigt, um eine Kette von Funktionen aufzubauen, daher sollte er eindeutig sein.
previousFunctionDer Name der Funktion, die vor dieser ausgeführt wird. "Start" bedeutet, dass dieser Baustein der erste in der Kette ist.
nextFunctionDer Name der Funktion, die nach dieser ausgeführt wird. "End" bedeutet, dass dieser Baustein der letzte in der Kette ist.
variableDer Name der Variable, aus der der zu setzende Wert ausgelesen werden soll.
valueWert, den die Eigenschaft der Komponente annehmen soll. Kann alternativ zu einer Variable verwendet werden
controlDer Name der Komponente, bei der ein Wert verändert werden soll.
propertyDer Name der Eigenschaft, die bei der oben angegebenen Komponente verändert werden soll.

IfElse

Mit dieser Kontrollstruktur kann im Mobile Builder eine Fallunterscheidung implementiert werden. Fallunterscheidungen haben immer folgende Form: LinkeVariable ? RechteVariable. ? ist ein Vergleichsoperator. Es ist also nur möglich, innerhalb einer Bedinung zwei Variablen zu vergleichen.

AttributBeschreibung
controlTypeDer Typ des Controls. Hier standardmäßig "IfElse".
functionIdName der Fallunterscheidung. Dieser wird später benötigt, um eine Kette von Funktionen aufzubauen, daher sollte er eindeutig sein.
previousFunctionDer Name der Funktion, die vor dieser ausgeführt wird. "Start" bedeutet, dass dieser Baustein der erste in der Kette ist.
leftVariableDer Name der Variable, die auf der linken Seite der Bedingung steht.
leftValueWert, der auf der linken Seite der Bedingung steht. Kann alternativ zu den Variablen benutzt werden.
operatorDer Vergleichsoperator, der beide Variablen miteinander vergleicht. Auswahl zwischen: "==", "!=", ">", "<", ">=", "<=", "contains", "regex"
rightVariableDer Name der Variable, die auf der rechten Seite der Bedingung steht.
rightValueWert, der auf der rechten Seite der Bedingung steht. Kann alternativ zu den Variablen benutzt werden.
nextFunctionTrueDie ID der nächsten auszuführenden Funktion, wenn die Bedingung wahr ist. "End" bedeutet, dass dieser Baustein der letzte in der Kette ist.
nextFunctionFalseDie ID der nächsten auszuführenden Funktion, wenn die Bedingung falsch ist. "End" bedeutet, dass dieser Baustein der letzte in der Kette ist.

OpenUrl

Öffnet eine beliebige URL. Man kann außerdem wählen, ob die neue Seite im aktuellen oder in einem anderen Tab geöffnet werden soll. Dieser Funktionsbaustein kann nur am Ende einer Funktionskette stehen, denn es ist nicht möglich, eine darauffolgende Funktion zu definieren.

AttributBeschreibung
controlTypeDer Typ des Controls. Hier standardmäßig "OpenUrl".
functionIdEindeutige ID des Funktionsbausteins.
previousFunctionDer Name der Funktion, die vor dieser ausgeführt wird. "Start" bedeutet, dass dieser Baustein der erste in der Kette ist.
urlDie URL, die dieser Baustein aufrufen soll.
openModeBestimmt, in welchem Tab die URL aufgerufen wird. "_blank" öffnet einen neuen Tab. "_self" ruft die URL im aktuellen Tab auf.

SetFocus

Setzt den Fokus auf eine beliebige Komponente.

AttributBeschreibung
controlTypeDer Typ des Controls. Hier standardmäßig "SetFocus".
functionIdName der Fallunterscheidung. Dieser wird später benötigt, um eine Kette von Funktionen aufzubauen, daher sollte er eindeutig sein.
previousFunctionDer Name der Funktion, die vor dieser ausgeführt wird. "Start" bedeutet, dass dieser Baustein der erste in der Kette ist.
nextFunctionDer Name der Funktion, die nach dieser ausgeführt wird. "End" bedeutet, dass dieser Baustein der letzte in der Kette ist.
controlID der Komponente, die in den Fokus gesetzt werden soll.

ShowToast

Erstellt einen MessageToast, der dem Nutzer angezeigt wird. Der Text des MessageToasts kann entweder statisch festgelegt sein oder dynamisch durch eine Variable gegeben werden. Ist sowohl eine Variable gegeben, als auch ein Wert über die Eigenschaft "messsageText", wird die Variable vorgezogen.

AttributBeschreibung
controlTypeDer Typ des Controls. Hier standardmäßig "ShowToast".
functionIdName der Fallunterscheidung. Dieser wird später benötigt, um eine Kette von Funktionen aufzubauen, daher sollte er eindeutig sein.
previousFunctionDer Name der Funktion, die vor dieser ausgeführt wird. "Start" bedeutet, dass dieser Baustein der erste in der Kette ist.
nextFunctionDer Name der Funktion, die nach dieser ausgeführt wird. "End" bedeutet, dass dieser Baustein der letzte in der Kette ist.
variableID der Variable, deren Wert im MessageToast angezeigt werden soll.
messsageTextText, der im MessageToast angezeigt werden soll.
durationDauer der Anzeige des MessageToasts in Millisekunden.

PlaySound

Spielt einen Sound von einer URL ab.

AttributBeschreibung
controlTypeDer Typ des Controls. Hier standardmäßig "PlaySound".
functionIdName des Funktionsbausteins. Dieser wird später benötigt, um eine Kette von Funktionen aufzubauen, daher sollte er eindeutig sein.
previousFunctionDer Name der Funktion, die vor dieser ausgeführt wird. "Start" bedeutet, dass dieser Baustein der erste in der Kette ist.
nextFunctionDer Name der Funktion, die nach dieser ausgeführt wird. "End" bedeutet, dass dieser Baustein der letzte in der Kette ist.
variableID der Variable, die die URL beinhaltet, von der ein Sound abgespielt werden soll.
soundUrlURL, von der ein Sound abgespielt werden soll.
volumeDie Lautstärke, mit dem der Ton abgespielt wird.
waitForEndBei True: Führt die nächste Funktion des Logic Flows erst aus, wenn der Ton fertig gespielt wurde. Bei False: Führt die nächste Funktion der Kette schon aus, wenn der Ton noch nicht fertig gespielt wurde

Delay

Verzögert die Ausführung der nächsten Funktion in der Funktionenkette. Die erwünschte Verzögerung kann dynamisch über eine Variable vergeben oder statisch über das Feld "delayMs" vergeben werden.

AttributBeschreibung
controlTypeDer Typ des Controls. Hier standardmäßig "Delay".
functionIdName des Funktionsbausteins. Dieser wird später benötigt, um eine Kette von Funktionen aufzubauen, daher sollte er eindeutig sein.
previousFunctionDer Name der Funktion, die vor dieser ausgeführt wird. "Start" bedeutet, dass dieser Baustein der erste in der Kette ist.
nextFunctionDer Name der Funktion, die nach dieser ausgeführt wird. "End" bedeutet, dass dieser Baustein der letzte in der Kette ist.
variableId der Variable, deren Wert für die Verzögerung der nächsten Funktion (in Millisekunden) verwendet werden soll.
delayMsVerzögerung der nächsten Funktion in Millisekunden.

Navigiert zu einer anderen Seite. Dazu muss die controlId der Seite entweder in einer Variable gespeichert werden oder im Feld "viewId" hinterlegt werden. Ist eine Variable vorhanden und eine "viewId" eingetragen, wird der Wert der Variable bevorzugt.

AttributBeschreibung
controlTypeDer Typ des Controls. Hier standardmäßig "NavToView".
functionIdName des Funktionsbausteins. Dieser wird später benötigt, um eine Kette von Funktionen aufzubauen, daher sollte er eindeutig sein.
previousFunctionDer Name der Funktion, die vor dieser ausgeführt wird. "Start" bedeutet, dass dieser Baustein der erste in der Kette ist.
nextFunctionDer Name der Funktion, die nach dieser ausgeführt wird. "End" bedeutet, dass dieser Baustein der letzte in der Kette ist.
variableId der Variable, die die controlId der aufzurufenden View enthält.
viewIdControlId der aufzurufenden View.

SetTime

Setzt die Zeit bei einem Control. Bei einem Label kann etwa die Eigenschaft "text" überschrieben werden, sodass sie die aktuelle Uhrzeit anzeigt. Über das Feld "intervalMs" kann man außerdem das Intervall steuern, in dem die Uhrzeit aktualisiert werden soll (in Millisekunden). Zu beachten: Diese Funktion kann nicht Teil einer Kette sein und keinen Vorgänger oder Nachgänger haben.

AttributBeschreibung
controlTypeDer Typ des Controls. Hier standardmäßig "SetTime".
functionIdName des Funktionsbausteins. Dieser wird später benötigt, um eine Kette von Funktionen aufzubauen, daher sollte er eindeutig sein.
controlDie Id der Komponente, bei der eine Eigenschaft mit der Uhrzeit überschrieben werden soll.
propertyDie Eigenschaft der Komponente, deren Wert mit der Uhrzeit überschrieben werden soll.
intervalMsLegt das Intervall fest, in dem die anzuzeigende Uhrzeit aktualisiert werden soll.
timeFormatLegt das Format der anzuzeigenden Uhrzeit fest. Wählbare Optionen sind: "HH:mm:ss", "HH:mm", "hh:mm a", "HH:mm:ss.SSS", "ISO"

Concat

Konkateniert zwei Strings. Dazu müssen beide Strings als Eingabe übergeben werden, die Ausgabe wird in einer Variable abgespeichert.

AttributBeschreibung
controlTypeDer Typ des Controls. Hier standardmäßig "Concat".
functionIdName des Funktionsbausteins. Dieser wird später benötigt, um eine Kette von Funktionen aufzubauen, daher sollte er eindeutig sein.
previousFunctionDer Name der Funktion, die vor dieser ausgeführt wird. "Start" bedeutet, dass dieser Baustein der erste in der Kette ist.
nextFunctionDer Name der Funktion, die nach dieser ausgeführt wird. "End" bedeutet, dass dieser Baustein der letzte in der Kette ist.
variableDie ID der Variable, in der die Ausgabe gespeichert werden soll
firstPartDie ID der Variable, deren Value konkateniert und in der Ausgabe links stehen soll.
secondPartDie ID der Variable, deren Value konkateniert und in der Ausgabe rechts stehen soll.
separatorHier kann ein String festgelegt werden, der die erste Eingabe von der zweiten trennt