Con Wear OS by Google, un reloj puede comunicarse con una red directamente sin acceder a un teléfono con Android o iOS.
Esta página contiene los siguientes requisitos previos y dependencias:
- La versión más reciente de los Servicios de Google Play
- Un dispositivo con Wear OS o un AVD con Wear
De manera independiente, la API de Data Layer para wearables, que forma parte de Servicios de Google Play, brinda un canal de comunicación opcional a las apps. Si bien una app para Wear puede comunicarse con una app para teléfonos usando la API de Data Layer para wearables, no es recomendable conectarse a una red con esta API.
La API de Data Layer tiene un conjunto de objetos de datos que el sistema puede enviar y sincronizar, junto con objetos de escucha que informan a las apps sobre ciertos eventos de la siguiente manera:
- Elemento de datos
- Un elemento
DataItem
proporciona almacenamiento de datos con sincronización automática entre el dispositivo portátil y el wearable. - Activo
- Los objetos
Asset
sirven para enviar BLOB binarios de datos, como imágenes. Adjunta recursos a elementos de datos y el sistema realizará automáticamente la transferencia, con lo cual se conservará ancho de banda de Bluetooth y se almacenarán recursos grandes en caché para evitar la retransmisión. - Mensaje
- Un elemento
MessageClient
puede enviar mensajes y es adecuado para llamadas de procedimiento remoto (RPC), como controlar el reproductor multimedia de un dispositivo portátil desde el wearable o iniciar un intent en el wearable desde el dispositivo portátil. Los mensajes también son excelentes para solicitudes unidireccionales o para un modelo de comunicación de solicitud/respuesta. Si el wearable y el dispositivo portátil están conectados, el sistema pone en cola el mensaje para su entrega y muestra un código de resultado exitoso. Si los dispositivos no están conectados, se mostrará un error. Un código de resultado exitoso no indica que el mensaje se entregó correctamente, ya que los dispositivos pueden desconectarse después de recibir el código de resultado. - Canal
-
Puedes usar un elemento
ChannelClient
para transferir entidades grandes, como archivos de música y películas, de un dispositivo portátil a un wearable. El uso de un elementoChannelClient
para la transferencia de datos tiene los siguientes beneficios:- Puedes transferir archivos de datos grandes entre dos o más dispositivos conectados sin la sincronización automática que se brinda al usar objetos
Asset
adjuntos a objetosDataItem
.ChannelClient
ahorra espacio en el disco en comparación conDataClient
, que crea una copia de los recursos en el dispositivo local antes de sincronizarse con dispositivos conectados. - Puedes enviar de manera confiable un archivo demasiado grande como para enviarlo con un objeto
MessageClient
. - Puedes transferir datos de transmisiones, como música extraída de un servidor de red o datos de voz desde el micrófono.
- Puedes transferir archivos de datos grandes entre dos o más dispositivos conectados sin la sincronización automática que se brinda al usar objetos
- WearableListenerService (para servicios)
- Extender
WearableListenerService
te permite escuchar eventos importantes de la capa de datos en un servicio. El sistema maneja el ciclo de vida delWearableListenerService
; vincula al servicio cuando necesita enviar elementos de datos o mensajes y desvincula el servicio cuando no es necesario realizar tareas. - OnDataChangedListener (para actividades en primer plano)
- Implementar
OnDataChangedListener
en una actividad te permite escuchar eventos importantes de la capa de datos cuando la actividad está en primer plano. Si lo usas en lugar deWearableListenerService
, puedes escuchar cambios solo cuando el usuario usa activamente tu app.
Advertencia: Debido a que estas API están diseñadas para la comunicación entre dispositivos portátiles y wearables, son las únicas API que debes usar para configurar la comunicación entre estos dispositivos. Por ejemplo, no intentes abrir sockets de bajo nivel para crear un canal de comunicación.
Importante: Las firmas de tu teléfono y del APK de Wear deben ser idénticas a los esquemas de firmas para que la API de Data Layer pueda comunicarse correctamente entre dispositivos. Se incluye tu uso de la firma v1 y/o v2. Asegúrate de que el esquema de firmas se defina correctamente en build.gradle
o cuando uses el asistente Generar APK firmado.
Wear OS admite la conexión de varios wearables a un dispositivo portátil. Por ejemplo, cuando el usuario guarda una nota en un dispositivo portátil, esta aparece automáticamente en todos sus dispositivos Wear. Para ayudar a sincronizar los datos entre dispositivos, los servidores de Google alojan un nodo en la nube en la red de dispositivos. El sistema sincroniza los datos con los dispositivos conectados directamente, con el nodo en la nube y con los wearables conectados a ese nodo por Wi-Fi.

Figura 1: Ejemplo de red de nodos con dispositivos portátiles y wearables
- Sincronización y acceso a la red
- En esta lección, se explica cómo adquirir una red de alto ancho de banda. También se brinda un punto de partida para conocer el envío de mensajes a través de la nube y mucho más.
- Cómo acceder a la capa de datos de wearables
- En esta lección, se explica cómo crear un cliente para acceder a las API de Data Layer.
- Sincronización de elementos de datos
- Los elementos de datos son objetos que se guardan en un almacén de datos replicados que se sincroniza automáticamente desde dispositivos portátiles a wearables.
- Transferencia de recursos
- Los recursos son BLOB binarios de datos que normalmente se utilizan para transferir imágenes o contenido multimedia.
- Envío y recepción de mensajes
- Los mensajes están diseñados para aquellos mensajes que no requieren seguimiento y que puedes enviar de un dispositivo a otro entre el wearable y el dispositivo portátil.
- Administración de eventos de la capa de datos
- Recibe avisos sobre cambios y eventos en la capa de datos.
- Cómo migrar apps de Wear a GoogleApi
- Migración desde la clase GoogleApiClient