Com o Wear OS by Google, um smartwatch pode se conectar diretamente a uma rede, sem acesso a um smartphone Android ou iOS.
Esta página tem as seguintes dependências e pré-requisitos:
- A versão mais recente do Google Play Services
- Um dispositivo Wear OS ou um AVD Wear
Separadamente, a API Wearable Data Layer, que faz parte do Google Play Services, fornece um canal de comunicação opcional para apps. Ainda que um app Wear possa se comunicar com um app de smartphone usando a API Wearable Data Layer, não é recomendado se conectar a uma rede usando essa API.
A API Data Layer consiste em um conjunto de objetos de dados que o sistema pode enviar e sincronizar, junto a listeners que notificam apps de certos eventos, da seguinte maneira:
- Item de dados
- Um
DataItem
fornece armazenamento de dados com sincronização automática entre o dispositivo portátil e o wearable. - Recurso Objetos
Asset
servem para enviar blobs binários de dados, como imagens. Ao anexar recursos a itens de dados, o sistema automaticamente cuida da transferência para você, conservando a largura de banda do Bluetooth por meio do armazenamento em cache de recursos grandes para evitar a retransmissão.- Mensagem
-
Um
MessageClient
pode enviar mensagens e é bom para chamadas de procedimento remoto (RPC, na sigla em inglês), como controlar o player de mídia de um dispositivo portátil ou iniciar um intent no wearable a partir do dispositivo portátil. As mensagens também são ótimas para solicitações unidirecionais ou para um modelo de comunicação de solicitação/resposta. Se os dispositivos portátil e wearable estiverem conectados, o sistema colocará a mensagem na fila de entrega e retornará um código de resultado. Se os dispositivos não estiverem conectados, um erro será retornado. Um código de resultado bem-sucedido não indica que a mensagem foi entregue, porque os dispositivos podem se desconectar depois do recebimento do código de resultado. - Canal
-
Você pode usar um
ChannelClient
para transferir entidades grandes, como arquivos de música e filmes, de um dispositivo portátil para um wearable. O uso de umChannelClient
para transferência de dados tem os seguintes benefícios:- Transferência de arquivos de dados grandes entre dois ou mais dispositivos conectados, sem a sincronização automática fornecida ao usar objetos
Asset
anexados a objetosDataItem
. OChannelClient
salva espaço no disco sobreDataClient
, o que cria uma cópia dos recursos no dispositivo local antes da sincronização com os dispositivos conectados. - Envio confiável de arquivos grandes demais para serem enviados usando um
MessageClient
. - Transferência de dados de stream, como músicas de um servidor de rede ou dados de voz do microfone.
- Transferência de arquivos de dados grandes entre dois ou mais dispositivos conectados, sem a sincronização automática fornecida ao usar objetos
- WearableListenerService (para serviços)
- Ampliar o
WearableListenerService
permite que você detecte eventos importantes da camada de dados em um serviço. O sistema gerencia o ciclo de vida doWearableListenerService
, vinculando-o ao serviço quando é necessário enviar itens de dados ou mensagens e desvinculando o serviço quando nenhuma tarefa é necessária. - OnDataChangedListener (para atividades em primeiro plano)
-
A implementação do
OnDataChangedListener
em uma atividade permite que você detecte eventos importantes da camada de dados quando uma atividade estiver em primeiro plano. Usar essa opção em vez deWearableListenerService
permite que você detecte alterações apenas quando o usuário estiver usando o app ativamente.
Aviso: como essas APIs são projetadas para a comunicação entre dispositivos portáteis e wearables, essas são as únicas APIs que podem ser utilizadas para configurar a comunicação entre esses dispositivos. Por exemplo, não tente abrir soquetes de baixo nível para criar um canal de comunicação.
Importante: suas assinaturas de APK para Wear e smartphone e os esquemas de assinaturas precisam ser idênticos para que a API Data Layer consiga fazer comunicação entre os dispositivos. Isso inclui seu uso da assinatura v1 e/ou v2. Verifique se o esquema de assinatura foi configurado corretamente em build.gradle
ou quando você usa o assistente Generate Signed APK.
O Wear OS é compatível com vários dispositivos wearable conectados a um dispositivo portátil. Por exemplo, quando o usuário salva uma anotação em um dispositivo portátil, ela automaticamente aparece em todos os seus dispositivos Wear. Para ajudar a sincronizar dados entre dispositivos, os servidores do Google hospedam um nó da nuvem na rede de dispositivos. O sistema sincroniza os dados com dispositivos diretamente conectados, com o nó da nuvem e com os dispositivos wearable conectados ao nó da nuvem via Wi-Fi.

Figura 1. Exemplo de rede de nós com dispositivos portáteis e wearable.
- Acesso à rede e sincronização
- Esta lição mostra como adquirir uma rede banda larga. A lição também traz um ponto de partida para mensagens na nuvem e muito mais.
- Acessar a camada de dados wearable
- Esta lição mostra como criar um cliente para acessar as APIs Data Layer.
- Sincronizar itens de dados
- Os itens de dados são objetos armazenados em um repositório de dados replicados que é automaticamente sincronizado entre dispositivos portáteis e wearables.
- Transferir recursos
- Recursos são blobs binários de dados usados normalmente para transferir imagens ou mídia.
- Enviar e receber mensagens
- As mensagens são projetadas para serem mensagens temporárias que podem ser enviadas do dispositivo wearable ao portátil e vice-versa.
- Gerenciar eventos da camada de dados
- Receba notificações sobre eventos e alterações na camada de dados.
- Migrar apps Wear para GoogleApi
- Deixe de usar a classe GoogleApiClient.