Screen Arrangement
Button
Label
CheckBox
CheckBox a scelta multipla
Canvas caricare e sostituire immagine
Canvas Disegnare e salvare immagini
Ball
Ball Griglia Palla Sponde
Ball Collisione e suono
Ball(Heading)
Sprite racchetta
Clock proprietà
Clock Cronometro con tempo intermedio
OrientationSensor
LocationSensor
AccelerometerSensor
BarcodeScanner
Con App Inventor 2, il programmatore sceglie componenti e implementa eventi e metodi assemblando blocchi di codice predisposti eliminando possibilità di errori sintattici.
In questa guida sono presentati gran parte dei componenti, per ognuno è presentata almeno un’App con codice commentato.
Con AI2,per la gestione di database in rempot è messo a disposizione FusionTablesControl, nella guida è descritto SQL per query, Select, Insert, Update, Delete ecc.
Vai alla pagina
App Inventor 2 con database MySQL è una guida passo-passo per scrivere applicazioni Android che utilizzano database MySQL residenti in Internet.
Il compito è svolto in sinergia fra i componenti Web, WebWevier e Sharing di App Inventor e database MySQL.
La trasmissione dati fra App Android e database MySQL è realizzata mediante interfaccia php appositamente scritta e ampiamente documentata.
Con questo metodo le App assemblate con App Inventor possono condividere un database su server remoto il cui contenuto è possibile aggiornare utilizzando un normale browser web.
Vai alla pagina
Please fill in the following form to contact us
![]() ![]() • Creare una lista direttamente in Blocks Editor • Popolarla con item (voci) • Aggiungere Item • Controllare se c’è un Item nella lista • Modificare Item • Eliminare Item • Aggiungere una Lista ad un’altra Lista Altre operazioni possono essere ricavate dal libro "Usare App Inventor; scrivere e distribuire App per cellulari e tablet Android" |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Componenti e proprietà da assegnare:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Come dovrebbero presentarsi la pagina Design e l’Emulatore:![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Aprire Blocks Editor Notare che il componente ListPicker con nome ListaVuotaSuDesign ha campo ElementsFromString vuoto. In altre parole, facendo click su di esso, questo componente non ha una lista di Item da mostrare. Nel Blocks Editor verrà popolato con Item e su questi saranno eseguite diverse azioni. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Definire una lista: ![]() Trascinare il blocco variable nell’area di lavoro. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() Questa è la lista, il suo nome è ListaSquadre, e per adesso è vuota. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Popolare una lista: ![]() Fare click su My Blocks e poi su bPopolaListaSquadre. Trascinare il blocco click nell’area di lavoro. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() Trascinare il blocco add items to lists sul blocco precedente incastrandolo all’interno. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() Trascinare il blocco ListaSquadre sul blocco precedente incastrandolo dopo la parola list. Questa è la lista che verrà popolata. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() Le prese per l’incastro faranno un nuovo posto ad ogni inserimento. In modo analogo a come fatto con il blocco variabile, fare click su ciascuna parola text e sostituirla, rispettivamente con Juventus, Fiorentina, Roma. Questi sono gli item che popoleranno la lista. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() Questi sono gli item che popoleranno la lista. Ora gli Item della lista ListaSquadre vengono assegnati al componente ListaVuotaSuDesign. Fare click su My Blocks e poi su ListaVuotaSuDesign. Trascinare il blocco ElementFromStrng sui blocchi precedenti incastrandolo sotto il blocco add item to list. Questo è il blocco che si occupa di inserire gli elementi text (Juventus,Fiorentina,Roma) all’interno della lista facendo in modo che siano visibili come elenco cliccabile. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() Lista vuota su Design Vengono mostrati sul display gli tem inseriti in Blocks Editor perché ListaVuotaSuDesign non è più vuota. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Aggiungere Item (Voci) ad una lista:![]() Fare click su My Blocks e poi su bAggiungeItem. Trascinare il blocco click nell’area di lavoro. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() Trascinare il blocco add items to lists sul blocco precedente incastrandolo all’interno. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() Trascinare il blocco ListaSquadre sul blocco precedente incastrandolo dopo la parola list. Questa è la lista a cui verranno aggiunti gli Item. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() All’inserimento del testo nel TextBox (tbAggiungeItem) comparirà la tastiera virtuale. Dopo inserito del testo, al click sul Button (bAggiungeItem) il testo viene prelevato dal TextBox ed inserito nella lista ListaSquadre. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() Per fare questo, prelevare il blocco HideKeyboar (Nascondi tastiera) ed incastrarlo sotto il blocco add items to lists. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() Prelevare il blocco Text ed incastrarlo sotto il blocco precedente. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() Fare click su text e renderlo editabile, cancellare la parola text. In questo modo il TextBox verrà vuotato. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() Fare click su My Blocks e poi su ListaVuotaSuDesign. Trascinare il blocco ElementFromStrng sotto il blocco tbAggiungeItem.Text incastrandolo. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Leggere una lista per trovare un Item (Voce): Il sistema dispingue fra maiuscole e minuscole. Ad esempio le parole fiorentina (abitante di Firenze) e Fiorentina (squadra di calcio di Firenze) sono due parle diverse. In questo esempio, la lettura della lista viene fatta al click sul pulsante bItemInLista (Item in Lista?) ed il risultato inserito nelle Label lItemInLista (Id item) e lXVariazioni (X Variazioni). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() Rendere editabile la parola text ed eliminare la parola text. Se il risultato sarà positivo il contenuto conterrà l’Index della voce testata. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() In questo blocco verrà posto il risultato della lettura della lista. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() Fare click su Built In e poi su Control. Trascinare il blocco if test then-do sotto in blocco lItemInLista incastrandolo. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() precedente incastrandolo dopo la parola list. Questa è la lista sulla quale verrà eseguito il test. |
![]() Questo blocco corrisponde al contenuto del TextBox tbItemInLista (hint = Item in Lista ?). Questo TextBox conterrà la voce da testare per la sua esistenza nella lista. Se l’esito del test sarà positivo verranno eseguite le istruzioni corrispondenti ai blocchi interni. Verrà prelevato l’Index della voce e variato il contenuto dei blocchi lItemInLista e lXVariazioni. |
![]() |
![]() |
![]() |
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Con l’esecuzione dei 4 blocchi precedenti il blocco lXVariavioni conterrà l’Index della voce del test. | ![]() Fare click si lItemInLista e trascinare il blocco Text sotto al blocco lXVariavioni incastrandolo. |
![]() |
![]() Sostituire la parola text con: Trovato pos. |
![]() Sostituire la parola text con: Trovato pos. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Per mezzo di questi 4 blocchi, ad esito del test positivo, sul display potremo leggere Trovato pos. N.index | ![]() Fare click su tbAggiungeItem e trascinare ilblocco HideKeyboard (Nascondi tastiera) sotto il blocco if incastrandolo. |
![]() All’esecuzione di questo codice e con il risultato del test positivo, si avrà sul display l’Index numerico della voce richiesta |
Sostituire un Item (Voce) in una lista:![]() Gli Item verranno modificati facendo click su di un pulsante. Fare click su My Blocks e poi su bCambiaIn. Trascinare il blocco click nell’area di lavoro. |
![]() |
![]() |
![]() Questo blocco contiene il valore index della Label lXVariazioni. Questo valore è stato inserito da una ricerca nella lista, vedere la parte “Leggere una lista per trovare un Item”. |
![]() Questo blocco contiene i caratteri digitati all’interno del TextBox tbCambiaCon (Hint=Cambia con) ed andranno a sostituire quegli esistenti. |
![]() Digitato il testo e fatto la sostituzione, occorre ora nascondere la tastiera. Fare click su tbAggiungeItem e trascinare il blocco HideKeyboard (Nascondi tastiera) sotto il blocco replace list item incastrandolo. |
![]() |
Eliminare un Item (Voce) da una lista:![]() Gli Item verranno eliminati facendo click su di un pulsante. Fare click su My Blocks e poi su bElimina. Trascinare il blocco click nell’area di lavoro. |
![]() |
![]() |
![]() Questo blocco contiene il valore index della Label lXVariazioni che è stato inserito durante le ricerca nella lista, vedere la parte “Leggere una lista per trovare un Item”. |
![]() |
Aggiungere una Lista ad un’altra Lista :![]() Cercare una lista vuota di nome ListaNascosta |
![]() Popolarla (all’evento click) con le voci Torino,Firenze,Roma. |
Adesso ListaNascosta verrà aggiunta a ListaSquadre.![]() Trascinare il blocco click nell’area di lavoro. |
![]() Trascinare il blocco append to lists sul blocco precedente inca-strandolo dentro. |
![]() Questo è la lista alla quale verrà accodata la lista di nome ListaNascosta. |
![]() Questa è la lista che, al click sul pulsante, verrà accodata a ListaSquadre. |
![]() |
Prova nell’emulatore.
Questo programma, essendo solo dimostrativo di alcune proprietà delle liste, non prevede il controllo di quanto digitato, per questa ragione è possibile inserire Item senza testo o generare alcuni tipi di errore. |