back to top

I componenti di MIT App Inventor

Dopo aver visto, alla lezione precedente, un semplice esempio di una prima App creata con MIT App Inventor, passiamo ad approfondire alcuni aspetti teorici già precedentemente introdotti. Torniamo, cioè, sul "duopolio" di components e behaviors. In questa lezione, più precisamene, ci soffermeremo sulle differenti tipologie di componenti resi disponibili dagli sviluppatori del MIT all’interno della schermata Designer.

Prima di passare in rassegna i vari tipi di componenti supportati dalla piattaforma è opportuno precisare che la nostra trattazione non ha l’ambizione di voler essere esauriente ma, più modestamente, si propone l’obiettivo di offrire una panoramica generale, una visione d’insieme, sul vasto numero di components disponibili in MIT App Inventor.

User Interface Components

La famiglia più ricca di componenti è, certamente, quella dei componenti relativi all’interfaccia utente. Si tratta, in sostanza, dei componenti necessari a disegnare e far funzionare l’interfaccia utente. L’esempio tipico di questa tipologia di componenti è offerto dai bottoni. Ogni componente, come avremo modo di vedere, dispone di metodi, eventi e proprietà peculiari (nella prossima lezione approfondiremo questi concetti).

Di seguito l’elenco completo dei componenti di questa famiglia:

  • Button – il classico bottone;
  • CheckBox – consiste nella classica casella di scelta (true/false);
  • DatePicker – apre un pop-up per la selezione di date;
  • Image – mostra un’immagine;
  • Label – mostra del testo;
  • ListPicker – è un bottone che, una volta premuto, apre una lista di opzioni tra cui è possibile scegliere;
  • ListView – consente di creare una lista di elementi testuali;
  • Notifier – consente di creare delle notifiche;
  • PasswordTextBox – campo per l’inserimento di password (al posto dei caratteri digitati vengono mostrati dei puntini);
  • Screen – è l’elemento genitore (lo schermo) che contiene tutti gli altri componenti di questa famiglia;
  • Slider – genera una barra con all’interno un cursore draggabile
  • Spinner – apre un menu di scelta multipla;
  • TextBox – campo per l’inserimento di testo;
  • TimePicker – apre un pop-up per la selezione di un orario;
  • WebViewer – consente di aprire una URL remota.

Layout Components

Offre una serie di componenti che consentono di gestire il layout dell’applicazione. Questa famiglia di componenti offre tre alternative:

  • HorizontalArrangement – gestisce diversi elementi affiancandoli orizzontalmente (da sinistra verso destra);
  • TableArrangement – consente di creare un layout tabellare;
  • VerticalArrangement – gestisce diversi elementi inpilandoli verticalmente (dall’alto verso il basso);

Media Components

Questa famiglia di componenti consente di gestire gli elementi multimediali all’interno della nostra applicazione creata con MIT App Inventor. Vediamo l’elenco dei componenti a nostra disposizione:

  • Camcorder – apre la videocamera integrata nel device per la registrazione di un video;
  • Camera – apre la videocamera integrata nel device per scattare una foto;
  • ImagePicker – consente di selezionare un’immagine tra quelle presenti nella galleria del dispositivo;
  • Player – consente di riprodurre un file audio e di controllare la vibrazione del device (consigliato per file audio di lunga durata);
  • Sound – consente di riprodurre un file audio e di controllare la vibrazione del device (consigliato per file audio di breve durata);
  • SoundRecorder – consente di accedere al microfono integrato nel device per effettuare una registrazione audio;
  • SpeechRecognizer – consente di attivare la funzionalità di riconoscimento vocale integrata in Android al fine di convertire un parlato in testo;
  • TextToSpeech – consente di trasformare un testo in un parlato attraverso un sintetizzatore vocale (tra i vari linguaggi è supportato anche l’italiano);
  • VideoPlayer – consente di riprodurre un file video all’interno di un player dotato dei normali comandi attivabili al touch dell’utente;
  • YandexTranslate – consente di effettuare traduzioni in tempo reale attraverso le API offerte dal traduttore automatico di Yandex.

Drawing and Animation Components

Si tratta di una serie di componenti per gestire il disegno e le animazioni. Il componente principale di questa tipologia e canvas il quale costituisce la "cornice" all’interno della quale è possibile effettuare disegni ed animazioni. Questo l’elenco dei componenti:

  • Ball – crea uno sprite circolare che si muove secondo le proprietà ad esso assegnate;
  • Canvas – pannello rettangolare bidimensionale sensibile al touch all’interno del quale è possibile disegnare e riprodurre animazioni;
  • ImageSprite – crea uno sprite sulla base di un’immagine che si muove secondo le proprietà ad esso assegnate.

Sensor Components

Si tratta di una serie di componenti attraverso i quali è possibile accedere ai sensori del dispositivo.

  • AccelerometerSensor – componente non visibile che intercetta lo shake del dispositivo e ne misura le accellerazioni;
  • BarcodeScanner – consente di leggere un codice a barre;
  • Clock – componente non visibile che consente di accedere all’orologio del dispositivo;
  • LocationSensor – componente non visibile che consente di accedere alle informazioni di geolocalizzazione (latitudine, longitudine, altitudine e indirizzo)
  • NearField – componente non visibile che consente di accedere alle funzionalità NFC;
  • OrientationSensor – componente non visibile che consente di rilevare l’orientamento del device.

Social Components

Questa tipologia di componenti di MIT App Inventor consente di gestire alcune funzionalità sociali come, ad esempio, l’attivazione di pulsanti di chiamata o l’interazione con Twitter. Segue l’elenco dei componenti disponibili:

  • ContactPicker – consente di effettuare la scelta di un contatto tra quelli disponibili nella rubrica del device;
  • EmailPicker – consente di inserire una casella di testo con auto-completamento all’interno della quale può essere digitato il nome di un contatto o un’indirizzo email;
  • PhoneCall – componente non visibile che consente di effettuare una chiamata ad un numero prestabilito;
  • PhoneNumberPicker – mostra i numeri di telefono dei contatti presenti nella rubrica;
  • Sharing – componente non visibile che consente di condividere file o messaggi tra l’applicazione ed altre app installate sul device;
  • Texting – consente di inviare un messaggio di testo con un messaggio e ad un numero predefinito;
  • Twitter – consente di comunicare con Twitter ed effettuare alcune operazioni come, ad esempio, inviare un tweet.

Storage Components

Questi componenti consentono di memorizzare dei dati all’interno del device al fine di poterli riutilizzare nei successivi accessi all’applicazione.

  • File – componente non visibile che consente di scrivere e/o leggere un file all’interno del device;
  • FusionTablesControl – componente non visibile che consente di comunicare con Google Fusion Tables (un servizio sperimentale di Google che consente di gestire e condividere data tables);
  • TinyDB – componente non visibile che consente di memorizzare (e leggere) dati all’interno di una sorta di database (estremamente semplificato) mediante un meccanismo di tags;
  • TinyWebDB – componente non visibile che consente di interagire con un web-service per la memorizzazione (e la lettura) dati in remoto.

Connectivity Components

Si tratta di una serie di componenti attraverso i quali gestire le possibilità di connessione dell’applicazione. Questi i componenti disponibili:

  • ActivityStarter – consente di lanciare una nuova activity (ad esmepio è possibile aprire il browser con una pagina preselezionata o effettuare una ricerca su Google);
  • BluetoothClient – consente di attivare un client Bluetooth;
  • BluetoothServer – consente di attivare un server Bluetooth;
  • Web – componente non visibile attraverso il quale è possibile inoltrare chiamate HTTP mediante GET, POST, PUT e DELETE.

LEGO MINDSTORMS

Per finire ricordiamo che, tra i componenti di MIT App Inventor 2, si annovera anche una famiglia particolare. Si tratta dei componenti LEGO MINDSTORMS che consentono di interagire, attraverso Bluetooth, coi robot della famiglia MINDSTORMS prodotti dalla LEGO.

Pubblicità