lunedì 22 maggio 2017

Dialogare con una pagina PHP (Mit App Inventor 2)

Grazie a Mit App Inventor 2 puoi far svolgere molte funzioni utili al tuo cellulare, in modo da creare applicazioni e giochi che siano in grado di fare un po' di tutto.
Ci sono ovviamente però dei limiti in questa piattaforma web di sviluppo, limiti che per fortuna il php ti può aiutare a superare.

Potresti infatti avere l'esigenza di processare una variabile passata ad un pagina php, e di intercettare il risultato finale che questo script online ti restituisce.
Può essere il caso di controlli matematici avanzati, verifiche tramite funzioni che appinventor non possiede, o anche solo per potersi collegare velocemente ad un database online, uno a caso... mysql :)


Come dialogare con una pagina PHP tramite Mit App Inventor 2


Per poter passare delle variabili ad una pagina php tramite app inventor 2, ed intercettarne poi il risultato, hai bisogno semplicemente di due cose:
  1. Una pagina php ospitata su di uno spazio web gratuito (ecco qui una lista)
  2. Il componente Visualizzatore Web (Web Viewer) di app inventor2

Sul come creare una pagina php non metto becco, dovresti esserne tranquillamente in grado se stai leggendo questo post.
Tuttavia, ecco il codice d'esempio che ho utilizzato io nella mia pagina test.php, se può esserti utile:

<?
    $key=trim($_POST['key']);
    $testo=trim($_POST['testo']);
    if($
testo<>""&&$key<>"")
    {
        if($key=="keytest") echo "$testo";
    }
?>


Sostanzialmente ho creato una pagina php che da app inventor si aspetta due variabili, una variabile chiamata $key che rappresenta il codice d'accesso di sicurezza alla pagina php, in modo che in teoria solo la mia app possa dialogare con questo script, ed una variabile chiamata $testo, che contiene la risposta da stampare a video come risultato.

Bene, adesso passiamo ad app inventor ed andiamo a trascinare nel visualizzatore il blocco VisualizzatoreWeb (WebViewer).

Ora andiamo direttamente nei blocchi (blocks) e valorizziamo al caricamento dello schermo, il blocco Imposta web indirizzo (set web url), passandogli come variabile testuale l'url della pagina php da chiamare.

Adesso aggiungiamo al click di un pulsante, il blocco Esegui web invia testo (call web post text), ovvero il blocco che serve per comunicare con pagina web.
In questo blocco, per poter passare i parametri allo script php online, creiamo una lista che contiene due liste, una a cui passiamo il key di sicurezza, ed una a cui passiamo la variabile testo.
La pagina web, aspettandosi due variabili, avrà infatti bisogno di una coppia di valori, una che gli dice come si chiama la variabile, ed una che ne indica il suo contenuto.

Infine, andiamo ad intercettare la risposta della pagina con questo blocco: Per sempre quando web lettura file completata (when web got text), al quale aggiungeremo un controllo sul codice restituito dalla pagina (se la pagina restituisce 200 è ok) tramite la variabile CodiceRisposta (ResponseCode), ed ovviamente la risposta, contenuta nella variabile ContenutoRisposta (ResponseContent).

Dialogare con una pagina PHP (Mit App Inventor 2)

Se avrai fatto tutto correttamente, a video la tua app ti riporterà il messaggio inserito nella pagina php, che in questo caso è: "Test php riuscito"!

Trovi ovviamente questo esempio nel progetto .aia che ti allego qui.

Questo come al solito era solo un semplice esempio di funzionamento per spiegare il dialogo tra una pagina php e app inventor 2.
Ora potrai quindi creare degli script php molto potenti, per aumentare ciò che la tua app può fare, e superare così alcuni limiti di appinventor2.

Torna all'elenco delle lezioni

2 commenti

Questo commento è stato eliminato dall'autore.

Salve, ma se alla pagina PHP volessi inviare più di due parametri come posso fare ?

Piaciuto l'articolo? Lascia un commento!

EmoticonEmoticon