Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
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.
Ogni DataItem è un'unità di informazioni che viene trasmessa e sincronizzata su tutti i dispositivi nelle vicinanze di proprietà di un utente. Un DataItem 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 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 a DataClient, che
crea una copia degli asset sul dispositivo locale prima di sincronizzarli con
i dispositivi connessi.
Invia 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:
È preferibile utilizzare il Bluetooth. Il backup dei dati viene eseguito nel 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
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-08-30 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-08-30 UTC."],[],[],null,["The Wear OS data layer APIs consist of several different types of clients, which\nare useful for different types of data and during different connectivity\nconditions.\n\nThis page introduces each client type, and it includes a table that compares the\ncapabilities of the different clients. Using this information, you can select\nthe set of client types that works best for your app.\n\nData client\n\nA [`DataClient`](https://developers.google.com/android/reference/com/google/android/gms/wearable/DataClient) object lets you read or write to a [`DataItem`](https://developers.google.com/android/reference/com/google/android/gms/wearable/DataItem) or\n[`Asset`](https://developers.google.com/android/reference/com/google/android/gms/wearable/Asset):\n\n- Each `DataItem` is a unit of information that's broadcast and synchronized\n across all nearby devices that a user owns. A `DataItem` is stored persistently,\n and your device can read its contents until the data item is deleted.\n\n- An `Asset` is meant for larger data payloads, such as images or media files.\n\nMessage client\n\nA [`MessageClient`](https://developers.google.com/android/reference/com/google/android/gms/wearable/MessageClient) object can send messages and is good for remote procedure\ncalls (RPC), such as using a Wear OS device to control the version of your app\nthat's installed on a handheld device.\n\nMessages are great for one-way requests using `sendMessage()`, or for a\nrequest-and-response communication model using `sendRequest()`. Unlike with data\nclients, message clients need the nodes to be connected to the network in order\nto send messages.\n\nThe `sendMessage()` method is a best effort to deliver to the remote node, and\nit doesn't contain any built-in retry mechanism. If the target device\ndisconnects before the network transfer starts, the method returns\n`TARGET_NODE_NOT_CONNECTED`.\n| **Note:** To help preserve power, consider sending messages only to nearby devices.\n\nChannel client\n\nA [`ChannelClient`](https://developers.google.com/android/reference/com/google/android/gms/wearable/ChannelClient) object provides stream-oriented communication between\ndevices. A *channel* is a bidirectional communication pipe between two nodes,\nwhich is useful for use cases such as the following:\n\n- Transfer data files between two or more connected devices when the internet isn't available. `ChannelClient` saves disk space over `DataClient`, which creates a copy of the assets on the local device before synchronizing with connected devices.\n- Reliably send a file that's too large to send using a `MessageClient`.\n- Transfer streamed data, such as voice data from the microphone.\n\nAfter you open a channel, you can send and receive data in a continuous byte\nstream, rather than the discrete `DataItem` units that data clients require.\n\nYou're responsible for managing the data flow and keeping data consistent.\nChannel clients don't offer the same level of automatic data synchronization\nthat data clients do.\n\nClient comparison\n\nThe following table compares the capabilities of the different clients:\n\n| Client type | Data persistence | Supports data larger than 100 KB? | Network to use | Works offline? |\n|--------------------|--------------------------------------|--------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------|------------------------------|\n| **Data client** | Data is persisted indefinitely | Yes (use [`Asset`](https://developers.google.com/android/reference/com/google/android/gms/wearable/Asset) objects) | Bluetooth preferred. Data is backed up to the cloud; if Bluetooth is available, this backup is done asynchronously | Yes, for both read and write |\n| **Message client** | No persistence and no retry | No | Bluetooth preferred, but can use Wi-Fi if it's the only type of connection available | No |\n| **Channel client** | No persistence (connection-oriented) | Yes | Bluetooth preferred, but can use Wi-Fi if it's the only type of connection available | No |"]]