AI2 App_CheckBox_a_scelta_multipla

Per questo esempio vengono utilizzati 2 CheckBox ed un Button (pulsante).
Il pulsante ha il compito, al click, di comunicare allo smartphone che la selezione dei CheckBox è quella desiderata. Il risultato viene mostrato in una Label.
Con due CheckBox si possono ottenere 4 combinazioni diverse (2 alla seconda), con 4, 16 combinazioni e così via.
Ogni risultato può essere utilizzato per lanciare un'azione determinata.
.
I file zip per i download sono aia compattatti,
quando hanno password, essa è reperibile nel testo App Inventor 2 per esempi

Notare che, rispetto all' App_CheckBox_a_scelta_singola è stato solo aggiunto il componente Button, tutto il resto del lavoro viene compiuto nella finestra Blocks
In questa immagine cone dovrebbe presentarsi l'emulatore.
Quando viene fatto click sul CheckBox, esso inverte lo stato.
Di questa operazione si occupa il Sistema Operativo Android.
A noi interessa solo sapere quando la configurazione dei CheckBox (selezionati o no) è quella desiderata.
Quando la configurazione è quella, l'utente fa click sul pulsante ok (nome nel codice bOk).
In Blocks Editor, al click sul pulsante bOk, leggiamo la configurazione dei pulsanti e mettiamo il risultato nella label lRisultato.
In un'applicazione reale si avvierebbe una delle azioni disponibili dalla quantità delle combinazioni possibili.
Per tenere memoria dello stato dei CheckBox possono essere usate delle variabili.
Una variabile è un contenitore di qualcosa (ad esempio numeri, lettere, vero/falso).
In questo caso occorre utilizzare due variabili locali, cioè i loro valori sono visibili esclusivamente all'interno del blocco evento Click del pulsante OK.
Alle variabili locali vengono dati i nomi cb1 e cb2 in modo da ricordare, a prima vista, a quale CheckBox si riferiscono.
Questo blocco si trova immediatamente all'interno del blocco evento Click del pulsante Ok e contiene tutto il resto del codice necessario.
Per testare lo stato del CheckBox viene utilizzato il blocco Cheked che ritorna vero o falso a seconda dello stato del CheckBox..
Per testare lo stato dei CheckBox oltre alle variabili che conterranno il risultato occorre un qualcosa che faccia il test vero e proprio.
App Inventor mette a disposizioni il blocco if then (se allora) al quale dobbiamo aggiungere else (altrimenti).
Per farlo, una volta trascinato il blocco if-then nel Viewer della finestra Blocks occorre fare click sul piccolo riquadro Bleu.
Dalla finestra che si apre trascinare il blocco else all'interno del blocco if della stessa finestra.
Il blocco if-then si espanderà mostrando anche la parte else.
In condizioni diverse può essere necessario trascinare più volte lo stesso blocco o anche il blocco else if.
Questo procedimento può dar luogo ad una moltitudine di combinazioni diverse che risultano utili in test complessi.
Nel caso di questa app, tutto ciò che è necessario per il funzionamento sono i blocchi seguenti che vanno in esecuzione all'evento click sul pulsante bOK.
Al click sul pulsante bOK, le due variabili dichiarate (cb1 e cb2) vengono settate sul no.
Subito dopo, due blocchi if-then-else testano,uno dopo l'altro, i due CheckBox inserendone nella propria variabile lo stato.

In ultimo con i blocchi set lRisultato.Text to join, il contenuto delle due variabili (cb1 e cb2) che contengono lo stato dei due CheckBox viene scritto nella label lRisultato.