Le API del livello dati di Wear OS sono costituite da diversi tipi di client, che sono utili per diversi tipi di dati e in condizioni di connettività diverse.
Questa pagina presenta ogni tipo di cliente e include una tabella che mette a confronto le funzionalità dei diversi clienti. Con queste informazioni puoi selezionare i tipi di client più adatti alla tua app.
Client di dati
Un oggetto DataClient
ti consente di leggere o scrivere in un DataItem
o
Asset
:
Ogni
DataItem
è un'unità di informazioni che viene trasmessa e sincronizzata su tutti i dispositivi nelle vicinanze di proprietà di un utente. UnDataItem
viene archiviato in modo permanente e il dispositivo può leggerne i contenuti finché l'elemento di dati non viene eliminato.Un
Asset
è destinato a payload di dati più grandi, come immagini o file multimediali.
Client di messaggistica
Un oggetto MessageClient
può inviare messaggi ed è utile per le chiamate di procedura remota (RPC), ad esempio l'utilizzo di un dispositivo Wear OS per controllare la versione della tua app installata su un dispositivo portatile.
I messaggi sono ideali per le richieste unidirezionali che utilizzano sendMessage()
o per un
modello di comunicazione di tipo richiesta e risposta che utilizza sendRequest()
. A differenza dei client di dati, i client di messaggi richiedono che i nodi siano connessi alla rete per inviare i messaggi.
Il metodo sendMessage()
esegue il meglio possibile per inviare i dati al nodo remoto e non contiene alcun meccanismo di ripetizione integrato. Se il dispositivo di destinazione si disconnette prima dell'inizio del trasferimento di rete, il metodo restituisce TARGET_NODE_NOT_CONNECTED
.
Client del canale
Un oggetto ChannelClient
fornisce una comunicazione basata su stream tra i dispositivi. Un canale è un canale di comunicazione bidirezionale tra due nodi, utile per casi d'uso come i seguenti:
- Trasferisci file di dati tra due o più dispositivi connessi quando internet non è disponibile.
ChannelClient
consente di risparmiare spazio su disco rispetto aDataClient
, che crea una copia degli asset sul dispositivo locale prima di sincronizzarli con i dispositivi connessi. - Inviare in modo affidabile un file troppo grande per essere inviato utilizzando un
MessageClient
. - Trasferire i dati in streaming, ad esempio i dati vocali dal microfono.
Dopo aver aperto un canale, puoi inviare e ricevere dati in un flusso di byte continuo anziché nelle unità DataItem
discrete richieste dai client di dati.
Sei responsabile della gestione del flusso di dati e della loro coerenza. I client di canale non offrono lo stesso livello di sincronizzazione automatica dei dati offerto dai client di dati.
Confronto dei clienti
La seguente tabella mette a confronto le funzionalità dei diversi client:
Tipo di client | Persistenza dei dati | Supporta dati più grandi di 100 KB? | Rete da utilizzare | Funziona offline? |
---|---|---|---|---|
Client di dati | I dati vengono mantenuti a tempo indeterminato | Sì (utilizza gli oggetti
Asset ) |
È preferibile utilizzare il Bluetooth. Viene eseguito il backup dei dati sul cloud. Se il Bluetooth è disponibile, questo backup viene eseguito in modo asincrono | Sì, sia per la lettura che per la scrittura |
Client di messaggistica | Nessuna persistenza e nessun nuovo tentativo | No | È preferibile il Bluetooth, ma è possibile utilizzare il Wi-Fi se è l'unico tipo di connessione disponibile | No |
Client di canale | Nessuna persistenza (orientata alla connessione) | Sì | È preferibile il Bluetooth, ma è possibile utilizzare il Wi-Fi se è l'unico tipo di connessione disponibile | No |