Le API del livello dati di Wear OS sono costituite da diversi tipi di client, che sono utili per diversi tipi di dati e durante le diverse connessioni le condizioni di traffico.
Questa pagina introduce ogni tipo di client e include una tabella di confronto le capacità dei diversi clienti. Utilizzando queste informazioni, puoi selezionare l'insieme dei tipi di client più adatti alla tua app.
Client dati
Un oggetto DataClient
consente di leggere o scrivere in un DataItem
o
Asset
:
Ciascun
DataItem
è un'unità di informazioni che vengono trasmesse e sincronizzate su tutti i dispositivi vicini di proprietà di un utente. UnDataItem
viene archiviato in modo permanente e il dispositivo può leggerne i contenuti fino all'eliminazione dei dati.Asset
è pensato per i payload di dati più grandi, come immagini o file multimediali.
Client di messaggistica
Un oggetto MessageClient
può inviare messaggi ed è ideale per le procedure remote
di chiamata (RPC), ad esempio l'utilizzo di un dispositivo Wear OS per controllare la versione dell'app
installato su un dispositivo portatile.
I messaggi sono ideali per le richieste unidirezionali che utilizzano sendMessage()
o per una
modello di comunicazione richiesta e risposta utilizzando sendRequest()
. A differenza dei dati
i client di messaggistica necessitano che i nodi siano connessi alla rete per
per inviare messaggi.
Il metodo sendMessage()
rappresenta il massimo sforzo per consegnare il nodo remoto, e
non contiene alcun meccanismo integrato per i nuovi tentativi. Se il dispositivo di destinazione
si disconnette prima dell'inizio del trasferimento di rete, il metodo restituisce
TARGET_NODE_NOT_CONNECTED
.
Cliente di canale
Un oggetto ChannelClient
fornisce comunicazioni orientate al flusso di dati
dispositivi mobili. Un canale è un canale di comunicazione bidirezionale tra due nodi,
il che è utile per casi d'uso come i seguenti:
- Trasferisci file di dati tra due o più dispositivi connessi quando è attiva la connessione a internet
non è disponibile.
ChannelClient
risparmia spazio su disco oltreDataClient
e crea una copia degli asset sul dispositivo locale prima della sincronizzazione con dispositivi connessi. - Invia in modo affidabile un file troppo grande per essere inviato usando un
MessageClient
. - Trasferisci dal microfono i dati trasmessi in streaming, ad esempio i dati vocali.
Dopo aver aperto un canale, puoi inviare e ricevere dati in un byte continuo
anziché le unità DataItem
discrete richieste dai client di dati.
Sei responsabile della gestione del flusso di dati e della coerenza dei dati. I client di canale non offrono lo stesso livello di sincronizzazione automatica dei dati di quello che fanno i client di dati.
Confronto client
La tabella seguente mette a confronto le funzionalità dei diversi client:
Tipo di client | Persistenza dei dati | Supporta dati di dimensioni superiori a 100 kB? | Rete da utilizzare | Funziona offline? |
---|---|---|---|---|
Client dati | I dati vengono mantenuti all'infinito | Sì (utilizza
Asset
oggetti) |
Bluetooth preferito. I dati vengono sottoposti a backup sul cloud; se il Bluetooth è disponibile, il backup viene eseguito in modo asincrono | Sì, sia per lettura che per scrittura |
Client di messaggistica | Nessuna persistenza e nessun nuovo tentativo | No | È preferibile il Bluetooth, ma è possibile usare il Wi-Fi se è l'unico tipo di connessione disponibile | No |
Cliente di canale | Nessuna persistenza (orientato alla connessione) | Sì | È preferibile il Bluetooth, ma è possibile usare il Wi-Fi se è l'unico tipo di connessione disponibile | No |