martedì 29 gennaio 2013

AppInventor

Fino a poco tempo il servizio di AppInventor al MIT era chiuso per ristrutturazione ed avevo potuto provarlo solo per poco tempo senza averne una grandissima impressione

Adesso, complice anche una maggiore esperienza con Android, devo ammettere che e' bel giochino sia per iniziare a programmare sia per creare applicazioni senza troppe pretese

Prima di iniziare e' necessario scaricare il pacchetto AppInventor Setup da questo  link 

Successivamente si apre il browser e si punta su http://beta.appinventor.mit.edu, ci si logga con un account GMail e si crea una nuova applicazione

La schermata che compare corrisponde all'editor visual del form che si andra' a comporre.

Per questo esempio verra' creato un semplice programma con una Label ed un Button che alla evento di pressione del pulsante cambia il testo della Label

Si trascinano quindi una Label ed un Button, si impostano un po' di proprieta' e la parte di impaginazione e' finita


Per gestire l'evento di pressione del pulsante si deve cliccare su Open Block Editor (viene scaricato un file in Java) che apre una finestra in stile Blockly in cui si possono trascinare i vari componenti per determinare cosa accade quando si genera un evento OnClick


In questo caso semplicemente il contenuto della Label diventa "Luca"

Come testare (od installare l'applicazione)??
Esistono due possibilita': una utilizzare un telefono reale ed una utilizzare l'emulatore integrato. Nel primo caso si deve cliccare Connect to Device e scegliere l'identificativo del telefono, nel secondo caso si deve cliccare New Emulator e quando questo e' partito si clicca su Connect to Device e si sceglie  l'emulatore





Scegliendo dal menu a tendina in alto a sinistra dell'editor del form Package for Phonesi puo' anche scaricare il file .apk del programma cosi' generato.
Magari non e' un sistema per uso professionale ma come strumento didattico e' decisamente fantastico

Attenzione: per motivi non meglio chiariti ho avuto problemi ad usare il Block Editor in Chrome mentre in Firefox tutto funziona correttamente