Con 4D per iOS, pensiamo sempre alle funzionalità mobile-friendly. Lo scopo principale è aiutare gli sviluppatori a fornire la migliore esperienza utente per le loro applicazioni mobili. Ecco perché, con 4D v19 R3, stiamo introducendo i controlli di input di azione.
Che cos’è un controllo di input?
Come promemoria, con i formattatori che utilizzano il codice iOS disponibile nella galleria, è possibile interagire facilmente con le applicazioni native iOS dal proprio telefono cellulare. Ad esempio, è possibile comporre automaticamente un numero di telefono facendo clic sul campo del numero di telefono o aprire l’app Safari facendo semplicemente clic su un URL.
I controlli di input di azione seguono la stessa logica. Utilizzandoli, potrete aggiungere alcuni tipi di moduli nei vostri moduli di azione per interagire con le applicazioni native di Apple. Diversi sono già disponibili nella galleria, come ad esempio :
- phoneContact: per cercare il numero di telefono di un contatto direttamente dall’app Contatti di Apple
- emailContact: per cercare l’email di un contatto direttamente dall’app Apple Contact
- currentLocation e currentLocationAddress: per inserire automaticamente le coordinate (latitudine e longitudine) e gli indirizzi della posizione attuale dell’utente dell’app.
Sono stati progettati per semplificare la vita dei vostri utenti, aprendo loro nuove prospettive attraverso interazioni fluide con l’ambiente iOS.
E soprattutto, siete totalmente liberi di creare i vostri controlli di input, di integrarli nei vostri progetti mobili e di condividerli con la comunità!
Come funziona?
Per utilizzarli nei vostri progetti mobili, dovrete includerli nel vostro database per i formattatori o per i moduli personalizzati di elenchi e dettagli. Per farlo, create una cartella speciale “inputControls”, scaricate dalla galleria il controllo di input che più vi aggrada, decomprimetelo e trascinatelo nella cartella inputControls.
Questo controllo di input azione sarà quindi disponibile e selezionabile nella sezione Azione, nelle proprietà del parametro, a seconda del tipo di parametro dell’azione.
Ecco un esempio
Nel nostro esempio, aggiorneremo un numero di telefono e un’e-mail di un contatto. La novità consiste nel fatto che i dati verranno prelevati dall’applicazione Contatti di Apple. Quindi, in questo caso, utilizzeremo semplicemente i controlli di input dell’azione phoneContact ed emailContact, disponibili nella galleria.
Come appare nell’app dell’utente
L’utente dovrà semplicemente selezionare l’azione editContact dal menu delle azioni per visualizzare il modulo di azione nell’app mobile. Da qui, i controlli di input dell’azione gli daranno la possibilità di selezionare un numero di telefono e un’e-mail dall’app Contatti di Apple.
Come si può vedere, i controlli di input delle azioni sono un altro ottimo modo per interagire con le app Apple Native e aggiungere un’interazione piacevole alle vostre app mobili.
Come appare nell’editor del progetto
Per far funzionare il nostro esempio, dobbiamo creare l’azione di modifica nel metodo del database On Mobile App Action.
codice dell’azione di modifica 4D
Ecco un esempio di codice 4D nel metodo del database On Mobile App Action, per l’azione di modifica della preimpostazione, utilizzando il componente 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
Come promemoria, il componente MobileAppServer, integrato in 4D, consente di accedere a vari metodi di utilità per accelerare la codifica del backend delle applicazioni mobili in 4D.
Non esitate a darci un feedback sul forum di 4D e consultate la documentazione per maggiori dettagli!