As APIs da camada de dados do Wear OS são compostas por vários tipos diferentes de clientes, que são úteis para diferentes tipos de dados e durante diferentes pelas condições
Esta página apresenta cada tipo de cliente e inclui uma tabela que compara os capacidade dos diferentes clientes. Com essas informações, você pode selecionar o conjunto de tipos de clientes que funciona melhor para seu aplicativo.
Cliente de dados
Um objeto DataClient
permite ler ou gravar em um DataItem
ou
Asset
:
Cada
DataItem
é uma unidade de informação transmitida e sincronizada em todos os dispositivos próximos de um usuário. UmDataItem
é armazenado de maneira permanente, e seu dispositivo poderá ler o conteúdo até que o item de dados seja excluído.Um
Asset
é destinado a payloads de dados maiores, como imagens ou arquivos de mídia.
Cliente de mensagem
Um objeto MessageClient
pode enviar mensagens e é bom para procedimentos remotos
(RPC), como o uso de um dispositivo Wear OS para controlar a versão do app
instalado em um dispositivo portátil.
As mensagens são ótimas para solicitações unidirecionais usando sendMessage()
ou para uma
modelo de comunicação de solicitação e resposta usando sendRequest()
. Ao contrário dos dados
os clientes de mensagem precisam que os nós estejam conectados à rede
para enviar mensagens.
O método sendMessage()
é o melhor esforço para entregar ao nó remoto e
ele não contém nenhum mecanismo de nova tentativa integrado. Se o dispositivo de destino
desconecta antes do início da transferência de rede, o método retorna
TARGET_NODE_NOT_CONNECTED
:
Cliente de canal
Um objeto ChannelClient
fornece comunicação orientada por stream entre
dispositivos. Um canal é um canal de comunicação bidirecional entre dois nós,
o que é útil para casos de uso como os seguintes:
- Transferir arquivos de dados entre dois ou mais dispositivos conectados quando houver conexão com a Internet
não está disponível.
ChannelClient
economiza espaço em disco em relação aDataClient
, o que cria uma cópia dos recursos no dispositivo local antes da sincronização com e dispositivos conectados. - Envio confiável de arquivos grandes demais para serem enviados usando um
MessageClient
. - Transferência de dados transmitidos de um dispositivo para o outro, como dados de voz do microfone.
Depois de abrir um canal, é possível enviar e receber dados em um byte contínuo
stream, em vez das unidades DataItem
distintas que os clientes de dados exigem.
Você é responsável por gerenciar o fluxo de dados e manter os dados consistentes. Os clientes de canal não oferecem o mesmo nível de sincronização automática de dados que os clientes de dados fazem.
Comparação entre clientes
A tabela a seguir compara os recursos dos diferentes clientes:
Tipo de cliente | Persistência de dados | Oferece suporte a dados com mais de 100 KB? | Rede a ser usada | Funciona off-line? |
---|---|---|---|---|
Cliente de dados | Os dados são mantidos indefinidamente | Sim (usar
Asset
objetos) |
O Bluetooth é preferido. é feito backup dos dados na nuvem; se o Bluetooth estiver disponível, esse backup é feito de modo assíncrono | Sim, para leitura e gravação |
Cliente de mensagem | Sem persistência e sem nova tentativa | Não | Bluetooth é preferencial, mas pode usar Wi-Fi se for o único tipo de conexão disponível | Não |
Cliente de canal | Sem persistência (orientada à conexão) | Sim | Bluetooth é preferencial, mas pode usar Wi-Fi se for o único tipo de conexão disponível | Não |