COMPONENTI CONNETTIVITÀ (Connectivity components)

I dispositivi smartphone o tablet sono dotati di parecchi sensori ed è grazie a questi che si è avuta la possibilità di creare App incredibili. La connettività è la capacità di questi dispositivi di interfacciarsi con altri, attraverso i componenti di connettività.

È possibile utilizzare Activity Starter per avviare un’altra app creata con App Inventor 2. Questo è simile all’utilizzo di OpenAnotherScreen in applicazioni a più schermi, tranne per il fatto che ora abbiamo a che fare con due applicazioni separate, anziché due schermate all’interno di una singola applicazione.

Per aprire l’altra applicazione, è necessario conoscerne il nome del pacchetto e il nome della classe (package name and class name). Se disponi del codice sorgente dell’app App Inventor (file aia), puoi trovare questi nomi come segue:

  1. Scarica il codice sorgente sul tuo computer.
  2. Utilizzando un file explorer o un’utilità di decompressione zip, trova la cartella youngandroidproject e il file project.properties
  3. Apri il file col Blocco Note (tasto destro sul file > Apri con > Blocco note)
  4. La prima riga inizierà con ‘main =‘. Tutto ciò che segue è il pacchetto e il nome della classe.

L’invocazione del metodo StartActivity avvierà programma. Quando questo termina (se lo fa), verrà richiamato il metodo AfterActivity dell’app originale.

Se hai intenzione di avviare un’altra app App Inventor, assicurati di utilizzare il nome del pacchetto corretto. Ad esempio, se qualcuno pubblica il codice sorgente (file .aia) per un’app e tu rimpacchetterai quell’app, ti ritroverai con un nome di pacchetto diverso dall’originale.

THUNKABLE X non ha un gruppo Connectivity, devi fare riferimento alla pagina Componenti Sensori per trovare un componente in comune che è Bluetooth Low Energy (quello utilizzato nella App Immuni).

App Inventor 2 Kodular ThunkableX
Fig.: Le tre liste dei componenti

Contenuti:

Contenuti KODU:

  • Bluetooth Admin
  • Download
  • FTP
  • Network
  • WiFi

Contenuti THUNX:

  • Bluetooth Low Energy

Avvio attività – Activity starter

Un componente che può avviare un’attività utilizzando il metodo StartActivity.

È un modo chiave per estendere App Inventor 2, perché significa che ti consente di sfruttare applicazioni scritte da altri e create con altri framework di sviluppo.
Le app che avvii possono essere state create utilizzando o meno App Inventor 2, purché si disponga delle informazioni necessarie da fornire all’avviatore dell’attività.

Per le applicazioni progettate in modo appropriato, è possibile passare valori alle applicazioni all’avvio. È inoltre possibile avviare un’applicazione e ottenere da essa un risultato da utilizzare in un’ulteriore elaborazione, a condizione che l’applicazione sia progettata per restituire un risultato. Al momento, puoi trasmettere e ricevere solo valori di testo.

Le attività che possono essere avviate includono:
  • Avvio di un’altra app Inventor per app Android. Per fare ciò, prima scopri la classe dell’altra applicazione
  1. scaricando il codice sorgente
  2. usando un file explorer o decomprimi l’utilità per trovare un file chiamato “youngandroidproject / project.properties“.
  3. La prima riga del file inizierà con “main =” e sarà seguita dal nome della classe; per esempio main=com.gmail.Bitdiddle.Ben.HelloPurr.Screen1. (I primi componenti indicano che è stato creato da Ben.Bitdiddle@gmail.com).
  4. Per ActivityStarter avviare questa applicazione, imposta le proprietà seguenti:
    • ActivityPackage al nome della classe, eliminando l’ultimo componente (ad esempio, com.gmail.Bitdiddle.Ben.HelloPurr)
    • ActivityClass all’intero nome della classe (ad esempio com.gmail.Bitdiddle.Ben.HelloPurr.Screen1)

Oppure main=appinventor.ai_HomerSimpson.HelloPurr dove HomerSimpson è la parte del nome dell’account, e il Package e la Classe sono ActivityPackage: appinventor.ai_HomerSimpson.HelloPurr e ActivityClass: appinventor.ai_HomerSimpson.HelloPurr.Screen1 .


Nota: se hai intenzione di avviare un’altra app App Inventor, assicurati di utilizzare il nome del pacchetto corretto. Ad esempio, se qualcuno pubblica il codice sorgente (file zip) di un’app e impacchettate quell’app, vi ritroverete con un nome di pacchetto diverso da quello che aveva. In caso di dubbio, o se non hai il codice sorgente, avvia l’attività manualmente sul telefono ed esegui ‘adb logcat‘ per visualizzare il log di sistema Android e vedere cosa è stato effettivamente avviato, come spiegato di seguito in ‘Capire come impostare le proprietà ‘.

Nota2: se avvierai una seconda app App Inventor, che stai scrivendo tu stesso, è generalmente più facile e conveniente progettare l’intera cosa come un’unica app a schermo multiplo, piuttosto che creare due app separate.


  • Avvio dell’applicazione della fotocamera impostando le seguenti proprietà:
    • Action: android.intent.action.MAIN
    • ActivityPackage: com.android.camera
    • ActivityClass: com.android.camera.Camera
  • Esecuzione della ricerca Web. Supponendo che il termine da cercare sia “vampiro” (sentiti libero di sostituire la tua scelta), imposta le proprietà su:
    • Action: android.intent.action.WEB_SEARCH
    • ExtraKey: query
    • ExtraValue: vampiro
    • ActivityPackage: com.google.android.providers.enhancedgooglesearch
    • ActivityClass: com.google.android.providers.enhancedgooglesearch. Launcher
  • Apertura di un browser a una pagina Web specifica. Supponendo che la pagina in cui vuoi andare sia “www.beeth.it” (sentiti libero di sostituire la tua scelta), imposta le proprietà su:
    • Action: android.intent.action.VIEW
    • DataUri: http://www.beeth.it

Per ulteriori informazioni, ad esempio:

  • Mostrare una mappa per una posizione
  • Riproduci un video di YouTube
  • Capire come impostare le proprietà
  • Avvio di app arbitrarie
  • Ricezione di risultati dalle app avviate
  • Restituzione dei risultati dalle app di App Inventor e ottenimento del risultato
  • Chiamare le app di App Inventor e trasmetterle dei valori
  • Restituzione di risultati da applicazioni arbitrarie
  • Restituzione di risultati da applicazioni arbitrarie

vai al link http://appinventor.mit.edu/explore/ai2/activity-starter.html .

Altre informazioni ancor più dettagliate a http://ai2.appinventor.mit.edu/reference/other/activitystarter.html .

Proprietà

Action

text Specifica l’azione che verrà utilizzata per avviare l’attività.

ActivityClass

text Specifica la parte di classe del componente specifico che verrà avviato.

ActivityPackage

text Specifica la parte del pacchetto del componente specifico che verrà avviato.

Data Type

text Specifica il tipo MIME da passare all’attività.

DataUri

text Specifica l’URI dei dati che verrà utilizzato per avviare l’attività.

ExtraKey

textSpecifica la chiave aggiuntiva che verrà passata all’attività. Obsoleto. Dovresti usare Extra invece

ExtraValue

text Specifica il valore aggiuntivo che verrà passato all’attività. Obsoleto. Dovresti usare Extra invece

Extras

list blocks-only Restituisce l’elenco delle coppie chiave-valore che verranno passate come dati extra all’attività.

Result

text read-only, blocks-only Restituisce il risultato dall’attività.

ResultName

text Specifica il nome che verrà utilizzato per recuperare un risultato dall’attività.

ResultType

text read-only, blocks-only Restituisce il tipo MIME dall’attività.

ResultUri

text read-only, blocks-only Restituisce l’URI dall’attività.

Eventi

ActivityCanceled ()

Evento generato se questo ActivityStarter ritorna perché l’attività è stata annullata.

ActivityError ()

Esiste l’evento ma nella guida ufficiale non viene nominato (e questo refuso riguarda anche altri componenti sull’evento ERROR).

Ugualmente, diventa facile capire che questo evento viene generato quando, per qualche motivo, viene a mancare la connessione nell’Activity Starter. Questo errore produce una variabile MESSAGE che può essere usata, volendo col componente Notifier, per indicare all’utilizzatore o al programmatore il motivo dell’errore.

AfterActivity ( text risultato)

Evento generato dopo questo ActivityStarter ritorna.

Metodi

text ResolveActivity ()

Restituisce il nome dell’attività che corrisponde a questo ActivityStarter o una stringa vuota se non è possibile trovare attività corrispondente.

StartActivity ()

Inizia l’attività corrispondente a questo ActivityStarter.

BluetoothClient (Bluetooth Client)

Utilizzare BluetoothClient per connettere il dispositivo ad altri dispositivi tramite Bluetooth. Questo componente utilizza il profilo della porta seriale (SPP) per la comunicazione. Se sei interessato all’utilizzo di Bluetooth a basso consumo, consulta l’ estensione BluetoothLE .

Proprietà

AddressesAndNames

list read-only, blocks-only Restituisce l’elenco dei dispositivi Bluetooth associati. Ogni elemento dell’elenco restituito è una stringa costituita dall’indirizzo del dispositivo, da uno spazio e dal nome del dispositivo.

Available

boolean read-only, blocks-only Restituisce true se il Bluetooth è disponibile sul dispositivo, false altrimenti.

CharacterEncoding

text Restituisce la codifica dei caratteri da utilizzare durante l’invio e la ricezione di testo.

DelimiterByte

number Restituisce il byte delimitatore da utilizzare quando si passa un numero negativo per il parametro numberOfBytes quando si chiama ReceiveText, ReceiveSignedBytes o ReceiveUnsignedBytes.

DisconnectOnError

boolean Specifica se BluetoothClient / BluetoothServer deve essere disconnesso automaticamente quando si verifica un errore.

Enable

boolean read-only, blocks-only Ritorna true se il Bluetooth è abilitato, altrimenti false.

HighByteFirst

boolean Specifica se i numeri vengono inviati e ricevuti per primi con il byte più significativo.

IsConnected

boolean read-only, blocks-only Restituisce fruese è stata stabilita una connessione a un dispositivo Bluetooth.

Secure

boolean Specifica se è necessario utilizzare una connessione sicura.

Eventi

Esiste l’evento ma nella guida ufficiale non viene nominato (e questo refuso riguarda anche altri componenti sull’evento ERROR).

Ugualmente, diventa facile capire che questo evento viene generato quando, per qualche motivo, viene a mancare la connessione al Bluethooth Client. Questo errore produce due variabili functionName e MESSAGE che possono essere usate, volendo col componente Notifier, per indicare all’utilizzatore o al programmatore il motivo dell’errore.

Metodi

number BytesAvailableToReceive ()

Restituisce il numero di byte disponibili dal flusso di input.

boolean Connect ( text address)

Connettiti a un dispositivo Bluetooth con l’indirizzo indicato.

boolean ConnectWithUUID ( text address, text uuid )

Connettiti a un dispositivo Bluetooth con l’indirizzo indicato e un UUID specifico.

Disconnect ()

Disconnette dal dispositivo Bluetooth collegato.

boolean IsDevicePaired ( text address )

Verifica se il dispositivo Bluetooth con l’indirizzo indicato è associato.

number ReceiveSigned1ByteNumber ()

Legge un numero di 1 byte con segno.

number ReceiveSigned2ByteNumber ()

Legge un numero di 2 byte con segno.

number ReceiveSigned4ByteNumber ()

Legge un numero di 4 byte con segno.

list ReceiveSignedBytes ( number numberOfBytes )

Legge un numero di byte firmati dal flusso di input e li restituisce come Elenco.

Se numberOfBytes è negativo, questo metodo legge fino a quando non viene letto un valore del byte delimitatore. Il valore del byte delimitatore è incluso nell’elenco restituito.

text ReceiveText ( number numberOfBytes )

Legge un numero di byte dal flusso di input e li converte in testo. Se numberOfBytes è negativo, leggere fino a quando non viene letto un valore del byte delimitatore.

number ReceiveUnsigned1ByteNumber ()

Legge un numero di 1 byte senza segno.

number ReceiveUnsigned2ByteNumber ()

Legge un numero di 2 byte senza segno.

number ReceiveUnsigned4ByteNumber ()

Legge un numero di 4 byte senza segno.

list ReceiveUnsignedBytes ( number numberOfBytes )

Legge un numero di byte non firmati dal flusso di input e li restituisce come Elenco. Se numberOfBytes è negativo, questo metodo legge fino a quando non viene letto un valore del byte delimitatore. Il valore del byte delimitatore è incluso nell’elenco restituito.

Send1ByteNumber ( text number)

Decodifica il numero specificato String in un numero intero e lo scrive come un byte nel flusso di output.
Se il numero non può essere decodificato in un numero intero o il numero intero non si adatta a un byte, viene attivato l’evento ErrorOccurred del modulo e questo metodo restituisce senza scrivere alcun byte nel flusso di output.

Send2ByteNumber ( text number)

Decodifica il numero specificato String in un numero intero e lo scrive come due byte nel flusso di output.
Se il numero non può essere decodificato in un numero intero o il numero intero non si adatta a due byte, viene attivato l’evento ErrorOccurred del modulo e questo metodo restituisce senza scrivere alcun byte nel flusso di output.

Send4ByteNumber ( text number )

Decodifica il numero specificato String in un numero intero e lo scrive come quattro byte nel flusso di output.
Se il numero non può essere decodificato in un numero intero o il numero intero non si adatta a quattro byte, viene attivato l’evento ErrorOccurred del modulo e questo metodo restituisce senza scrivere alcun byte nel flusso di output.

SendBytes ( list list)

Prende ogni elemento dall’elenco indicato, lo converte in una stringa, decodifica la stringa in un numero intero e la scrive come un byte nel flusso di output.

Se un elemento non può essere decodificato in un numero intero o il numero intero non si adatta a un byte, viene attivato l’evento ErrorOccurred del modulo e questo metodo restituisce senza scrivere alcun byte nel flusso di output.

SendText ( text text)

Converte il testo dato in byte e li scrive nel flusso di output.

BluetoothServer (Bluetooth Server)

Utilizzare il BluetoothServer componente per trasformare il dispositivo in un server che riceve connessioni da altre app che utilizzano il BluetoothClient componente.

Proprietà

Available

boolean read-only, blocks-only Restituisce true se il Bluetooth è disponibile sul dispositivo, falsealtrimenti.

CharacterEncoding

text Restituisce la codifica dei caratteri da utilizzare durante l’invio e la ricezione di testo.

DelimiterByte

number Restituisce il byte delimitatore da utilizzare quando si passa un numero negativo per il parametro numberOfBytes quando si chiama ReceiveText, ReceiveSignedBytes o ReceiveUnsignedBytes.

Enable

boolean read-only, blocks-only Ritorna truese il Bluetooth è abilitato, falsealtrimenti.

HighByteFirst

boolean Specifica se i numeri vengono inviati e ricevuti per primi con il byte più significativo.

IsAccepting

boolean read-only, blocks-only Restituisce vero se questo componente Bluetooth Server accetta una connessione in entrata.

IsConnected

boolean read-only, blocks-only Restituisce true se è stata stabilita una connessione a un dispositivo Bluetooth.

Sicure

boolean Specifica se è necessario utilizzare una connessione sicura.

Eventi

BluetoothError ()

Esiste l’evento ma nella guida ufficiale non viene nominato (e questo refuso riguarda anche altri componenti sull’evento ERROR).

Ugualmente, diventa facile capire che questo evento viene generato quando, per qualche motivo, viene a mancare la connessione al Bluethooth Client. Questo errore produce due variabili functionName e MESSAGE che possono essere usate, volendo col componente Notifier, per indicare all’utilizzatore o al programmatore il motivo dell’errore.

ConnectionAccepted ()

Indica che è stata accettata una connessione Bluetooth.

Metodi

AcceptConnection ( text serviceName )

Accettare una connessione in entrata con il profilo della porta seriale (SPP).

AcceptConnectionWithUUID ( text serviceName , text uuid )

Accetta una connessione in entrata con un UUID specifico.

number BytesAvailableToReceive ()

Restituisce il numero di byte disponibili dal flusso di input.

Disconnect ()

Disconnette dal dispositivo Bluetooth collegato.

number ReceiveSigned1ByteNumber ()

Legge un numero di 1 byte con segno.

number ReceiveSigned2ByteNumber ()

Legge un numero di 2 byte con segno.

number ReceiveSigned4ByteNumber ()

Legge un numero di 4 byte con segno.

list ReceiveSignedBytes ( number numberOfBytes )

Legge un numero di byte firmati dal flusso di input e li restituisce come Elenco.
Se numberOfBytes è negativo, questo metodo legge fino a quando non viene letto un valore del byte delimitatore. Il valore del byte delimitatore è incluso nell’elenco restituito.

text ReceiveText ( number numberOfBytes )

Legge un numero di byte dal flusso di input e li converte in testo.
Se numberOfBytes è negativo, leggere fino a quando non viene letto un valore del byte delimitatore.

number ReceiveUnsigned1ByteNumber ()

Legge un numero di 1 byte senza segno.

number ReceiveUnsigned2ByteNumber ()

Legge un numero di 2 byte senza segno.

number ReceiveUnsigned4ByteNumber ()

Legge un numero di 4 byte senza segno.

list ReceiveUnsignedBytes ( number numberOfBytes )

Legge un numero di byte non firmati dal flusso di input e li restituisce come Elenco.
Se numberOfBytes è negativo, questo metodo legge fino a quando non viene letto un valore del byte delimitatore. Il valore del byte delimitatore è incluso nell’elenco restituito.

Send1ByteNumber ( text number )

Decodifica il numero specificato String in un numero intero e lo scrive come un byte nel flusso di output.
Se il numero non può essere decodificato in un numero intero o il numero intero non si adatta a un byte, viene attivato l’evento ErrorOccurred del modulo e questo metodo restituisce senza scrivere alcun byte nel flusso di output.

Send2ByteNumber ( text number )

Decodifica il numero specificato String in un numero intero e lo scrive come due byte nel flusso di output.
Se il numero non può essere decodificato in un numero intero o il numero intero non si adatta a due byte, viene attivato l’evento ErrorOccurred del modulo e questo metodo restituisce senza scrivere alcun byte nel flusso di output.

Send4ByteNumber ( text number )

Decodifica il numero specificato String in un numero intero e lo scrive come quattro byte nel flusso di output.
Se il numero non può essere decodificato in un numero intero o il numero intero non si adatta a quattro byte, viene attivato l’evento ErrorOccurred del modulo e questo metodo restituisce senza scrivere alcun byte nel flusso di output.

SendBytes ( list list)

Prende ogni elemento dall’elenco indicato, lo converte in una stringa, decodifica la stringa in un numero intero e la scrive come un byte nel flusso di output.
Se un elemento non può essere decodificato in un numero intero o il numero intero non si adatta a un byte, viene attivato l’evento ErrorOccurred del modulo e questo metodo restituisce senza scrivere alcun byte nel flusso di output.

SendText ( text text)

Converte il testo dato in byte e li scrive nel flusso di output.

StopAccepting ()

Smetti di accettare una connessione in entrata.

Serial

Componente per seriale (vedi ARDUINO)
ARDUINO

 

 

 

 

Proprietà

BaudRate

number Proprietà per BaudRate

Buffersize

number Proprietà per BufferSize

IsInitialized

boolean read-only, blocks-only Restituisce vero quando il seriale è stato inizializzato.

IsOpen

boolean read-only, blocks-only Restituisce vero quando la connessione seriale è aperta.

Eventi

Nessuno

Metodi

boolean CloseSerial ()

Chiude la connessione seriale. Restituisce vero quando è chiuso.

InitializeSerial ()

Inizializza la connessione seriale.

boolean OpenSerial ()

Apre la connessione seriale. Restituisce vero quando viene aperto.

PrintSerial ( text data )

Scrive i dati dati in serie e aggiunge una nuova riga alla fine.

text ReadSerial ()

Legge i dati dal seriale.

WriteSerial ( text data )

Scrive i dati dati su seriale.

WEB

Componente non visibile che fornisce funzioni per le richieste HTTP GET, POST, PUT e DELETE.

Proprietà

AllowCookies

boolean Specifica se consentire i cookie

RequestHeaders

list blocks-only Imposta le intestazioni della richiesta.

ResponseFileName

text Specifica il nome del file in cui salvare la risposta. Se SaveResponse è true e ResponseFileName è vuoto, verrà generato un nuovo nome file.

SaveResponse

boolean Specifica se la risposta deve essere salvata in un file.

Timeout

number Restituisce il numero di millisecondi che ogni richiesta attenderà una risposta prima del timeout. Se impostato su 0, la richiesta attenderà indefinitamente una risposta.

Url

text Specifica l’URL.

Eventi

GotFile ( text url , number responseCode , text responseType , text fileName )

Evento che indica che una richiesta è terminata.

GotText ( text url , number responseCode , text responseType , text responseContent )

Evento che indica che una richiesta è terminata.

TimedOut ( text url )

Evento che indica che una richiesta è scaduta.

Metodi

text BuildRequestData ( list list )

Converte un elenco di elenchi secondari a due elementi, che rappresentano coppie di nome e valore, in una stringa formattata come tipo di supporto application / x-www-form-urlencoded, adatta per passare a PostText.

ClearCookies()

Cancella tutti i cookie per questo componente Web.

Delete()

Esegue una richiesta DELETE HTTP utilizzando la proprietà Url e recupera la risposta. Se la proprietà SaveResponse è vera, la risposta verrà salvata in un file e verrà attivato l’evento GotFile. La proprietà ResponseFileName può essere utilizzata per specificare il nome del file.
Se la proprietà SaveResponse è falsa, verrà attivato l’evento GotText.

Get()

Esegue una richiesta GET HTTP utilizzando la proprietà Url e recupera la risposta.
Se la proprietà SaveResponse è vera, la risposta verrà salvata in un file e verrà attivato l’evento GotFile. La proprietà ResponseFileName può essere utilizzata per specificare il nome del file.
Se la proprietà SaveResponse è falsa, verrà attivato l’evento GotText.

text HtmlTextDecode( text htmlText)

Decodifica il valore di testo HTML specificato.
Entità HTML carattere, come &amp;, &lt;, &gt;, &apos;, e &quot; vengono modificate in &, <, >, ', e ". Entità come &#xhhhh; e &#nnnn; vengono modificate con i caratteri appropriati.

text JsonObjectEncode (any jsonObject )

Restituisce il valore di un tipo incorporato (ovvero, booleano, numero, testo, elenco, dizionario) nella sua rappresentazione Notazione oggetto JavaScript. Se il valore non può essere rappresentato come JSON, l’evento EventOccurred dello schermo verrà eseguito, se presente, e il componente Web restituirà la stringa vuota.

any JsonTextDecode ( text jsonText )

Decodifica il valore codificato JSON specificato per produrre un valore AppInventor corrispondente. Un elenco JSON [x, y, z] decodifica in un elenco (x y z), un oggetto JSON con chiave A e valore B, (indicato come {A:B}) decodifica in un elenco ((A B)), ovvero un elenco contenente l’elenco a due elementi (A B).
Utilizzare il metodo JsonTextDecodeWithDictionaries se si preferisce recuperare gli oggetti del dizionario anziché le “liste di liste” nel risultato.

any JsonTextDecodeWithDictionaries ( text jsonText )

Decodifica il valore codificato JSON fornito per produrre un valore di App Inventor corrispondente. Un elenco JSON [x, y, z] viene decodificato in un elenco (xyz). Un oggetto JSON con nome A e valore B, indicato come {a: b} decodifica in un dizionario con la chiave a e il valore b.

PostFile ( text path )

Esegue una richiesta POST HTTP utilizzando la proprietà Url e i dati dal file specificato.
Se la proprietà SaveResponse è vera, la risposta verrà salvata in un file e verrà attivato l’evento GotFile. La proprietà ResponseFileName può essere utilizzata per specificare il nome del file.
Se la proprietà SaveResponse è falsa, verrà attivato l’evento GotText.

PostText ( text text )

Esegue una richiesta POST HTTP utilizzando la proprietà Url e il testo specificato. I caratteri del testo sono codificati usando la codifica UTF-8. Se la proprietà SaveResponse è vera, la risposta verrà salvata in un file e verrà attivato l’evento GotFile. La proprietà responseFileName può essere utilizzata per specificare il nome del file. Se la proprietà SaveResponse è falsa, verrà attivato l’evento GotText.

PostTextWithEncoding ( text text , text encoding )

Esegue una richiesta POST HTTP utilizzando la proprietà Url e il testo specificato. I caratteri del testo vengono codificati utilizzando la codifica fornita. Se la proprietà SaveResponse è vera, la risposta verrà salvata in un file e verrà attivato l’evento GotFile. La proprietà ResponseFileName può essere utilizzata per specificare il nome del file. Se la proprietà SaveResponse è falsa, verrà attivato l’evento GotText.

PutFile ( text path )

Esegue una richiesta PUT HTTP utilizzando la proprietà Url e i dati dal file specificato. Se la proprietà SaveResponse è vera, la risposta verrà salvata in un file e verrà attivato l’evento GotFile. La proprietà ResponseFileName può essere utilizzata per specificare il nome del file. Se la proprietà SaveResponse è falsa, verrà attivato l’evento GotText.

PutText ( text text )

Esegue una richiesta PUT HTTP utilizzando la proprietà Url e il testo specificato. I caratteri del testo sono codificati usando la codifica UTF-8. Se la proprietà SaveResponse è vera, la risposta verrà salvata in un file e verrà attivato l’evento GotFile. La proprietà responseFileName può essere utilizzata per specificare il nome del file. Se la proprietà SaveResponse è falsa, verrà attivato l’evento GotText.

PutTextWithEncoding ( text text , text encoding )

Esegue una richiesta PUT HTTP utilizzando la proprietà Url e il testo specificato. I caratteri del testo vengono codificati utilizzando la codifica fornita. Se la proprietà SaveResponse è vera, la risposta verrà salvata in un file e verrà attivato l’evento GotFile. La proprietà ResponseFileName può essere utilizzata per specificare il nome del file. Se la proprietà SaveResponse è falsa, verrà attivato l’evento GotText.

text UriDecode ( text text )

Decodifica il valore del testo codificato in modo che i valori non siano più codificati nell’URL.

text UriEncode ( text text )

Codifica il valore di testo indicato in modo che possa essere utilizzato in un URL.

any XMLTextDecode ( text XmlText )

Decodifica la stringa XML fornita per produrre una struttura di elenco. <tag>string</tag> decodifica in un elenco che contiene una coppia di tag e stringa. Più in generale, se obj1, obj2, … sono stringhe XML delimitate da tag, quindi <tag>obj1 obj2 ...</tag> decodifica in un elenco che contiene una coppia il cui primo elemento è tag e il cui secondo elemento è l’elenco degli obj decodificati, ordinati alfabeticamente in base ai tag. Esempi:
  • <foo><123/foo> si decodifica in un elenco di un elemento contenente la coppia (foo 123)
  • <foo>1 2 3</foo> si decodifica in un elenco di un elemento contenente la coppia (foo "1 2 3")
  • <a><foo>1 2 3</foo><bar>456</bar></a> si decodifica in un elenco contenente la coppia in (a X) cui X è un elenco di 2 elementi che contiene la coppia (bar 123) e la coppia (foo "1 2 3").
Se la sequenza di obj mescola elementi delimitati da tag e non delimitati da tag, gli elementi non delimitati da tag vengono estratti dalla sequenza e racchiusi in un tag “contenuto”. Ad esempio, la decodifica <a><bar>456</bar>many<foo>1 2 3</foo>apples<a></code> è simile alla precedente, tranne per il fatto che l’elenco X è un elenco di 3 elementi che contiene la coppia aggiuntiva il cui primo elemento è la stringa “contenuto” e il cui secondo elemento è l’elenco (molti, mele). Questo metodo segnala un errore e restituisce l’elenco vuoto se il risultato non è un XML ben formato.

any XMLTextDecodeAsDictionary ( text XmlText )

Decodifica la stringa XML fornita per produrre una struttura di dizionario. Il dizionario comprende le chiavi speciali $tag, $localName, $namespace, $namespaceUri, $attributes, e $content, così come una chiave per ogni tag univoco per ogni nodo, che punti ad un elenco di elementi della stessa struttura come descritto qui. La chiave $tag è il nome completo del tag, ad esempio foo: bar. Il $localName è la parte locale del nome (tutto dopo i due punti :carattere). Se viene fornito uno spazio dei nomi (tutto prima del :carattere dei due punti ), viene fornito $namespace e viene fornito l’URI corrispondente $namespaceUri. Gli attributi sono memorizzati in un dizionario $attribute se i nodi figlio sono indicati come un elenco in $content.

Ulteriori informazioni sui tasti speciali

Considera il seguente documento XML:
<ex:Book xmlns:ex="http://example.com/">
   <ex:title xml:lang="en">On the Origin of Species</ex:title>
   <ex:author>Charles Darwin</ex:author>
</ex:Book>
 
Una volta analizzata, la chiave  $tag sarà "ex:Book", la chiave $localName sarà "Book", la chiave $namespace sarà "ex", $namespaceUri sarà "http://example.com/", la chiave $attributes sarà un dizionario {}(xmlns viene rimosso per lo spazio dei nomi) e $content sarà un elenco di due elementi che rappresentano il decodificato gli elementi <ex:title> e gli <ex:author> . Il primo elemento, che corrisponde all’elemento <ex:title> , avrà una chiave $attributes contenente il dizionario {"xml:lang": "en"}. Per ogni attributo name=value su un elemento, una mappatura coppia valore-chiave name per value esisterà nel dizionario  $attributes. Oltre a questi tasti speciali, ci saranno anche "ex:title" e "ex:author" per consentire ricerche più velocemente che dover attraversare la lista $content.

Contenuti KODU:

  • Bluetooth Admin
    Un componente non visibile che funge da amministratore bluetooth.

Download

Il componente Download è un componente non visibile che consente agli utenti di scaricare qualsiasi file sul dispositivo

Proprietà

Allow Over Roaming – Consenti over roaming

Imposta se questo download può procedere su una connessione in roaming.

Description – Descrizione

Imposta la descrizione che vedrai nella notifica di download.

Download URL – Scarica URL

Imposta qui l’URL del file che desideri scaricare.

Is Download Manager Available – Download Manager è disponibile

⚠ Deprecato

Questa funzione è obsoleta. Non usarlo più. Lo rimuoveremo in futuro. Poiché supportiamo l’API minima 14, il download manager è disponibile per impostazione predefinita. Il download manager è stato aggiunto nell’API 9.

Require Charging – Richiedi la ricarica

Specifica che per eseguire questo download, il dispositivo deve essere collegato. Funziona solo per dispositivi con API = 24.

Require Device Idle – Richiedi dispositivo inattivo

Specificare che per eseguire il download è necessario che il dispositivo sia in modalità IDLE (tempo di attesa). La modalità inattiva è una definizione generica fornita dal sistema, il che significa che il dispositivo non è in uso e non è stato utilizzato per un po’ di tempo. Funziona solo per dispositivi con API = 24.

Save File As – Salva file come

Imposta qui il nuovo nome file per il file che desideri scaricare.

Scan By Media Scanner – Scansione tramite scanner multimediale

Se il file da scaricare deve essere scansionato da MediaScanner.

Show Notification – Mostra notifica

Controlla se una notifica di sistema viene pubblicata dal download manager mentre questo download è in esecuzione o quando è completato.

Suppress Warnings – Elimina avvisi

Se false  vedrai un toast message con un messaggio di errore quando si verifica un errore.

Title – Titolo

Imposta il titolo che vedrai nella notifica di download.

Eventi

Download complete

Evento per rilevare se il download è terminato con successo. Puoi utilizzare ‘filePath’ per utilizzare il file scaricato nella tua app. Il ‘fileSize’ verrà restituito in byte.

On Download Progress Changed – Al momento del download è stato modificato lo stato di avanzamento

Ottieni lo stato di avanzamento (in percentuale) dell’attività di download corrente.

Got file size Ottenuta la dimensione del file

L’evento per rilevare la dimensione del file è pronto per essere utilizzato.

Notification clicked

Evento da rilevare quando l’utente fa clic su un download in esecuzione, da una notifica di sistema o dall’interfaccia utente dei download.

Metodi

Download

Avvia il processo di download dell’URL di download specificato.

Get File Size

Ottieni la dimensione del file (in byte) di un file archiviato online o sul tuo dispositivo. Il blocco rileva automaticamente se si tratta di un percorso online o meno. Otterrai il risultato nell’evento ‘Got File Size’.

Show download

Puoi aprire la cartella di download con questo blocco.

 

  • FTP
    Un componente non visibile che consente il caricamento e il download di file tramite File Transfer Protocol.
  • Network
    Un componente non visibile che recupera lo stato della connessione Internet del dispositivo.
  • WiFi
    Un componente non visibile che gestisce le impostazioni WiFi del dispositivo.

Contenuti THUNX:

  • Bluetooth Low Energy
    Bluetooth Low Energy, o BLE, viene utilizzato per connettere in modalità wireless due dispositivi tra loro. Il componente BLE ti permette di trovare e connetterti ai dispositivi BLE e di comunicare direttamente con loro.

Aggiornato al 03/11/2021
Aggiornato al 13/02/2022
Aggiornato al 15/12/2023

PDF Lista comparazione dei componenti di AI2 KODULAR THUNKABLEX agg.20210911

Vuoi avere più informazioni sul Coding visuale? Vai alla pagina dei Blocchi incorporati dove potrai imparare a scrivere il linguaggio di programmazione per App Inventor 2, Kodular e Thunkable X. Visita la pagina del Blog con le ultime notizie sulle le tre piattaforme. Nella pagina Documentazione troverai i collegamenti ai forum, il glossario, i link ai siti dei migliori programmatori, i download e tanti altri accessori.