Bei 4D für iOS denken wir immer an mobilfreundliche Funktionen. Der Hauptzweck ist es, Entwicklern zu helfen, die beste Benutzererfahrung für ihre mobilen Anwendungen zu bieten. Aus diesem Grund liefern wir mit 4D v19 R3 Action Input Controls aus.
Was ist eine Eingabesteuerung?
Zur Erinnerung: Mit Formatierern, die den in der Galerie verfügbaren iOS-Code verwenden , können Sie von Ihrem Mobiltelefon aus problemlos mit nativen iOS-Anwendungen interagieren. Sie können zum Beispiel automatisch eine Telefonnummer wählen, indem Sie auf ein Telefonnummernfeld klicken, oder die Safari-App öffnen, indem Sie einfach auf eine URL klicken.
Action Input Controls folgen genau derselben Logik. Mit ihnen fügen Sie verschiedene Module in Ihre Aktionsformulare ein, um mit nativen Apple-Anwendungen zu interagieren. Einige davon sind bereits in der Galerie verfügbar, wie z. B. :
- phoneContact: für die Suche nach der Telefonnummer eines Kontakts direkt in der Apple Contact App
- emailContact: für die Suche nach der E-Mail-Adresse eines Kontakts direkt in der Apple Contact App
- currentLocation und currentLocationAddress: um den aktuellen Standort des App-Benutzers automatisch mit Koordinaten (Breiten- und Längengrad) und Adressen zu füllen.
Sie wurden entwickelt, um Ihren Nutzern das Leben zu erleichtern, indem sie ihnen durch reibungslose Interaktionen mit der iOS-Umgebung neue Perspektiven eröffnen.
Und das Beste ist, dass Sie völlig frei sind, Ihre eigenen Eingabesteuerungen zu erstellen, sie in Ihre mobilen Projekte zu integrieren und sie mit der Community zu teilen!
Wie funktioniert das?
Um sie in Ihren mobilen Projekten zu verwenden, müssen Sie sie in Ihre Datenbank für Formatierer oder benutzerdefinierte Listen- und Detailformulare aufnehmen. Dazu erstellen Sie einen speziellen „inputControls“-Ordner, laden das für Sie passende Steuerelement aus der Galerie herunter, entpacken es und ziehen es in den inputControls-Ordner.
Dieses Steuerelement wird dann im Abschnitt Aktion in den Parametereigenschaften verfügbar und auswählbar sein, je nach Typ Ihres Aktionsparameters.
Hier ist ein Beispiel
In unserem Beispiel werden wir eine Telefonnummer und eine E-Mail-Adresse eines Kontakts aktualisieren. Der Clou dabei ist, dass wir die Daten aus der Apple Contact-App beziehen. In diesem Fall verwenden wir einfach die phoneContact- und emailContact-Eingabefelder, die in der Galerie verfügbar sind.
So sieht es in der App des Benutzers aus
Der Benutzer muss nur die Aktion editContact aus dem Aktionsmenü auswählen, um das Aktionsformular in der mobilen App anzuzeigen. Von dort aus kann er dann über die Aktionseingabe-Steuerelemente eine Telefonnummer und eine E-Mail aus der Apple Contact-App auswählen.
Wie Sie also sehen, sind Action Input Controls eine weitere großartige Möglichkeit, mit Apple Native Apps zu interagieren und Ihren mobilen Apps eine schöne Interaktion hinzuzufügen.
So sieht es im Projekt-Editor aus
Anschließend müssen wir die Aktion editieren in der Datenbankmethode On Mobile App Action erstellen, um unser Beispiel zum Laufen zu bringen.
4D-Code für die Bearbeitungsaktion
Hier sehen Sie ein Beispiel für den 4D-Code in der Datenbankmethode On Mobile App Action für die Aktion „Voreinstellung bearbeiten“ unter Verwendung der Komponente MobileAppServer:
#DECLARE($request : Object)->$response : Object $action:=MobileAppServer.Action.new($request) $response:=New object("success"; False) Case of : ($action.name="editContact") // edit@ var $entity; $status : Object $entity:=$action.getEntity() For each ($key; $request.parameters) $entity[$key]:=$request.parameters[$key] End for each $status:=$entity.save() // save the entity If ($status.success) $response.success:=True // notify App that action success $response.dataSynchro:=True // notify App to refresh the selection $response.statusText:="Edited" Else $response.statusText:="Failed to edit" // $status.statusText $response.errors:=$status.errors End if End case
Zur Erinnerung: Die MobileAppServer Komponente, die in 4D integriert ist, bietet Ihnen Zugang zu verschiedenen Utility-Methoden, um die Programmierung Ihres 4D Mobile App Backends zu beschleunigen.
Zögern Sie nicht, uns im 4D Forum Feedback zu geben, und lesen Sie die Dokumentation für weitere Details!