Cómo crear y ejecutar una app para wearables

Las apps para Wear OS se ejecutan directamente en un reloj y proporcionan acceso a hardware como sensores y la GPU. Las apps para wearables son similares a otras que usan el SDK de Android, pero difieren en diseño y funcionalidad.

Una app para Wear debería funcionar de manera independiente (sin una para teléfonos) para brindarles a los usuarios mayor flexibilidad en la elección de un teléfono. Si quieres obtener más información, consulta Apps independientes.

Nota: Puedes probar tu app en un reloj real si te conectas a uno mediante Wi-Fi o Bluetooth. Desarrollar una app con un reloj real te permite evaluar mejor la experiencia completa del usuario. También se encuentra disponible un emulador de reloj. Puedes usar el emulador de reloj en Android Studio para probar tu app con pantallas de diferentes tamaños y formas.

Cómo configurar tu entorno

Instala la versión más reciente de Android Studio. Para obtener más información sobre cómo crear apps en Android Studio, consulta Descripción general de proyectos.

Usa SDK Manager para confirmar que tienes la versión más reciente de la plataforma de Android. Específicamente, en la pestaña SDK Platforms, selecciona Android 8.0 (Oreo).

Si deseas que tus apps para Wear OS estén disponibles en China, consulta Cómo crear apps para Wear OS (China).

Cómo crear una app para Wear OS

Puedes crear una app para Wear OS mediante el asistente de Nuevo proyecto de Android Studio.

Cómo iniciar un proyecto de Wear OS

Para crear un proyecto en Android Studio, haz lo siguiente:

  1. Haz clic en File > New > New Project.
  2. En la pantalla Configure your new project, acepta los valores predeterminados y haz clic en Siguiente.
  3. En la pantalla Target Android Devices, selecciona solo la opción Wear y en la lista Minimum SDK, selecciona la opción más reciente disponible.
  4. Haz clic en Next. En la pantalla Add an Activity to Wear, selecciona Blank Wear Activity y, luego, haz clic en Next.
  5. En la pantalla Customize the Activity, haz clic en Finish.

    Android Studio usa sus propias plantillas para crear una app.

  6. En el archivo build.gradle para el módulo de la app:
    • En la sección android, confirma que la compileSdkVersion esté establecida en 26.
    • En la sección android, confirma que la targetSdkVersion esté establecida en 26.
    • Actualiza la sección dependencies. La primera dependencia es para la biblioteca de IU de Wear, que contiene clases que ejemplifican las prácticas recomendadas. La segunda dependencia es para la biblioteca de compatibilidad con dispositivos wearable, que contiene clases adicionales (incluso para caras de reloj):
          dependencies {
            implementation 'androidx.wear:wear:1.0.0'
            implementation 'com.google.android.support:wearable:2.5.0'
            compileOnly 'com.google.android.wearable:wearable:2.5.0'
          }
  7. En el archivo de manifiesto de Android (AndroidManifest.xml) de tu app, indica que esta es independiente. Específicamente, agrega una etiqueta meta-data de la siguiente manera:
    • Busca la etiqueta <application>.
    • Como elemento secundario de esa etiqueta, usa una etiqueta meta-data con el nombre com.google.android.wearable.standalone y el valor true:
          <application>
          ...
            <meta-data
              android:name="com.google.android.wearable.standalone"
              android:value="true" />
          ...
          </application>
          
  8. En el archivo de manifiesto de Android, asegúrate de que esté definida la etiqueta <uses-feature>. Como mínimo, debe definirse con android:name="android.hardware.type.watch" de la siguiente manera:
        <manifest>
        ...
          <uses-feature android:name="android.hardware.type.watch" />
        ...
        </manifest>
        
  9. Sincroniza tu proyecto de Android Studio. Para ejecutar el código en el nuevo módulo, consulta Cómo iniciar el emulador y ejecutar tu app para Wear OS.

Cómo iniciar el emulador y ejecutar tu app para Wear OS

Para usar el emulador, debes configurar un dispositivo virtual de Android (AVD). Confirma que tienes la versión más reciente de las herramientas de la Plataforma del SDK de Android de SDK Manager.

Configura un AVD y ejecuta tu app de la siguiente manera:

  1. En Android Studio, selecciona Tools > AVD Manager para abrir el Administrador de dispositivos virtuales Android.
  2. Haz clic en Create Virtual Device.
  3. En el panel Category, selecciona Wear y elige un perfil de hardware. Haz clic en Next.
  4. Selecciona la imagen O para descargar. Por ejemplo, selecciona la imagen con el Nombre de la versión O, el nivel de API 26 y el Destino "Android 8.0 (Wear OS)". Haz clic en Next y, luego, en Finish.
  5. Cierra el Administrador de dispositivos virtuales Android.
  6. En la barra de herramientas de Android Studio, ve al menú desplegable del dispositivo de destino, selecciona el AVD que acabas de crear y luego haz clic en Run .

    Menú desplegable del dispositivo de destino.

    Se iniciará el AVD y, luego de unos segundos, se ejecutará tu app y se mostrará el mensaje "Hello…".

Para obtener más información sobre cómo usar los AVD, consulta Cómo ejecutar apps en Android Emulator.

Cómo sincronizar un teléfono con el AVD de reloj

Nota: No se admite la sincronización de un AVD de reloj con un AVD de teléfono. Debes sincronizarlo con un teléfono conectado.

Si quieres tener una Cuenta de Google en el AVD del reloj durante el desarrollo, puedes sincronizar un teléfono con el AVD de reloj y vincular una.

  1. Sigue los pasos para configurar un teléfono.
  2. En el teléfono, habilita las funciones Opciones para desarrolladores y Depuración por USB.
  3. Conecta el teléfono a tu computadora a través de un puerto USB.
  4. Envía el puerto de comunicación del AVD al teléfono conectado (cada vez que se conecte el teléfono):
    adb -d forward tcp:5601 tcp:5601
  5. En el teléfono, desde la app de Wear OS, inicia el proceso de sincronización estándar. Por ejemplo, en la pantalla de bienvenida, presiona el botón Configurar. De manera alternativa, si ya se sincronizó un reloj existente, en el menú desplegable de la esquina superior izquierda, presiona Agregar un reloj nuevo.
  6. En el teléfono, desde la app de Wear OS, presiona el botón de contenido adicional y, luego, Sincronizar con emulador.
  7. Presiona el ícono de Configuración.
  8. En Configuración del dispositivo, presiona Emulador.
  9. Presiona Cuentas, selecciona una Cuenta de Google y sigue los pasos del asistente para sincronizar la cuenta con el emulador. Si es necesario, escribe la contraseña de bloqueo de pantalla del dispositivo y la contraseña de la Cuenta de Google para iniciar la sincronización de la cuenta.

Cómo actualizar un proyecto de Wear OS

Si ya tienes un proyecto, es posible que debas actualizar el archivo build.gradle. La versión 4.1 de Gradle admite el uso de google() para indicar el repositorio Maven de Google; en cambio, las versiones anteriores no lo admiten. Para obtener información relacionada, consulta el repositorio de Maven de Google.

Por lo tanto, si tu versión de Gradle es anterior a la 4.1, debes incluir la URL del repositorio de Maven de Google en el archivo build.gradle para tu proyecto de Android Studio. Específicamente, en la sección repositories, agrega una sección maven de la siguiente manera:

      allprojects {
          repositories {
              jcenter()
              maven {
                  url "https://maven.google.com"
              }
          }
      }

Cómo configurar un reloj

La implementación de una app en un reloj es similar a la de un teléfono.

En esta sección, se asume que tu reloj tiene un puerto USB. Si no lo tiene, consulta las instrucciones para conectar tu reloj mediante Wi-Fi o Bluetooth.

Habilita la depuración por ADB en el reloj de la siguiente manera:

  1. Abre el menú de Configuración en el reloj.
  2. Desplázate hasta la parte inferior del menú. Si no aparece el elemento Opciones para desarrolladores, presiona Sistema y, luego, Información.
  3. Presiona el número de versión de compilación 7 veces.
  4. En el menú Configuración, presiona Opciones para desarrolladores.
  5. Habilita Depuración ADB.

Para conectar el reloj, haz lo siguiente:

  1. Conecta el reloj a tu máquina mediante USB de manera que puedas instalar directamente apps en el reloj. De manera alternativa, puedes hacerlo mediante Wi-Fi o Bluetooth.
  2. En el reloj, presiona Permitir siempre para esta computadora y haz clic en Aceptar.

Después de conectar el reloj, ejecuta tu app seleccionando un objetivo de implementación como lo harías con un teléfono.

Cómo configurar un teléfono

En esta sección, se incluye información sobre cómo configurar un teléfono complementario con una app complementaria de Wear OS.

Nota: Las apps para Wear OS deberían ser independientes y funcionar sin teléfono. Sin embargo, si tu app depende de una app para teléfonos, consulta la información que aparece debajo sobre cómo actualizar un teléfono con la versión más reciente de la app complementaria de Wear OS.

Cómo usar la versión de Android de la aplicación complementaria

En un teléfono, ve a la ficha de la app de Wear OS. Presiona Actualizar para descargar e instalar la app. Después de la instalación, confirma que la opción Auto-update esté seleccionada para la app (consulta la sección "Configurar actualizaciones automáticas para apps específicas" de Actualizar aplicaciones descargadas). Presiona Abrir para iniciar la app.

Sincroniza un teléfono Android con un reloj

Una vez que instales la app complementaria en un teléfono, desincroniza ("Olvidar") cualquier sincronización de reloj obsoleta, si es necesario. Luego puedes sincronizar el teléfono con un reloj con imagen nueva:

  1. En el teléfono, selecciona el nombre de tu dispositivo en la lista de dispositivos. Se mostrará un código de sincronización en el teléfono y el reloj. Asegúrate de que los códigos coincidan.
  2. Presiona Sincronizar para avanzar con el proceso de sincronización. Cuando se conecta el reloj al teléfono, se muestra un mensaje de confirmación. En el teléfono, aparece una pantalla en la que se indican las cuentas de este.
  3. Selecciona una Cuenta de Google para agregarla tu reloj y sincronizarla con él.
  4. Confirma el bloqueo de pantalla y, luego, ingresa la contraseña para iniciar el copiado de la cuenta del teléfono al reloj.
  5. Sigue las instrucciones del asistente para finalizar el proceso de sincronización.

App complementaria para iPhones

Hay una app complementaria de iOS disponible, pero el teléfono en el que se instale debe ejecutar iOS 8.2 o versiones posteriores:

  1. En tu iPhone, visita App Store para descargar e instalar la app complementaria de Wear.
  2. Sigue las instrucciones que aparecen en el reloj y el teléfono para iniciar la sincronización. Para obtener información adicional, consulta la Página de ayuda relacionada.

Cómo agregar un módulo de Wear OS a tu proyecto

Puedes agregar un módulo para un dispositivo Wear OS a tu proyecto existente en Android Studio, lo que te permitirá volver a usar el código de tu app para dispositivos móviles (teléfono).

Cómo proporcionar un módulo de Wear OS en tu proyecto existente

Para crear un módulo de Wear OS, abre tu proyecto de Android Studio existente y haz lo siguiente:

  1. Haz clic en File > New > New Module.
  2. En la ventana New Module, selecciona Wear OS Module y haz clic en Next.
  3. En Configure the new module, ingresa lo siguiente:
    • Application/Library Name: Esta string corresponde al título de tu ícono de selector de apps para el nuevo módulo.
    • Module Name: Esta string corresponde al nombre de la carpeta para tu código fuente y tus archivos de recursos.
    • Package Name: Esta string corresponde al espacio de nombres de Java para el código en tu módulo. La string se agrega como el atributo package en el archivo de manifiesto de Android del módulo.
    • Minimum SDK: Selecciona la versión más antigua de la plataforma que admita el módulo de la app. Por ejemplo, selecciona API 26: Android 8.0 (Oreo). Este valor establece el atributo minSdkVersion en el archivo build.gradle, que podrás editar más adelante.
  4. Haz clic en Next. Se muestran las opciones que incluyen plantillas de código. Haz clic en Blank Wear Activity y, luego, en Next.
  5. En la ventana Configure Activity, ingresa o acepta los valores predeterminados para Activity Name, Layout Name y el Source Language. Haz clic en Finish.

Android Studio crea y sincroniza los archivos para el nuevo módulo. Además, agrega las dependencias obligatorias para Wear OS en el archivo de compilación del nuevo módulo. El nuevo módulo aparece en la ventana Project del lado izquierdo de la pantalla. Si no ves esta carpeta, asegúrate de que en la ventana se muestre la vista de Android.

En el archivo build.gradle para el nuevo módulo (Wear OS), haz lo siguiente:

  • En la sección android, establece los valores para compileSdkVersion y targetSdkVersion en 26.
  • Actualiza la sección dependencies para que incluya lo siguiente:
        dependencies {
          implementation 'androidx.wear:wear:1.0.0'
          implementation 'com.google.android.support:wearable:2.5.0'
          compileOnly 'com.google.android.wearable:wearable:2.5.0'
        }
  • Sincroniza tu proyecto de Android Studio. Para ejecutar el código en el nuevo módulo, consulta Cómo iniciar el emulador y ejecutar tu app para Wear OS.

Cómo incluir bibliotecas

Nota: Te recomendamos usar Android Studio para desarrollar Wear OS, ya que proporciona funciones de configuración de proyectos, inclusión de bibliotecas y empaquetado.

Cuando usas el Asistente de proyectos de Android Studio, este importa las dependencias en el archivo build.gradle del módulo adecuado. Sin embargo, las dependencias no son obligatorias para todas las apps; por lo tanto, revisa la información que aparece debajo sobre las dependencias.

Para actualizar un proyecto de Wear existente a la versión más reciente del SDK, usa la configuración que se incluye en la sección Cómo iniciar un proyecto de Wear OS.

Notificaciones

Si quieres obtener información sobre las dependencias para notificaciones, consulta Cómo crear una notificación en Wear.

Biblioteca de la IU de Wear

Se recomiendan los componentes en la biblioteca de IU de Wear porque ejemplifican las prácticas recomendadas de apps para relojes. Por lo tanto, te recomendamos que agregues una dependencia en la biblioteca de la IU de Wear. Para obtener más información, consulta las siguientes páginas:

Biblioteca de compatibilidad con dispositivos wearable

La biblioteca de compatibilidad con dispositivos wearable tiene componentes de IU para apps para reloj. Sin embargo, algunas de sus clases están obsoletas. Para obtener información sobre las clases que reemplazan a las obsoletas, consulta Cómo usar la biblioteca de la IU de Wear.

Si bien los componentes de IU pueden modificarse en cualquier momento, un cambio en un componente no daña la app (porque los componentes están compilados dentro de tu app). Para obtener nuevas funciones de una biblioteca actualizada, vincula de manera estática la nueva versión de la biblioteca y actualiza tu app según corresponda.

API de Data Layer para wearables y de Servicios de Play

Si tu app depende de los Servicios de Google Play, ya sea para sincronizarse y enviar datos (mediante las API de Data Layer), o bien otros fines, necesitarás la versión más reciente de los Servicios de Google Play. Si no usas estas API, debes quitar la dependencia.

Diferencias entre apps para teléfono y reloj

A continuación, se muestran algunas de las diferencias entre las apps para teléfono y reloj:

  • Las apps para reloj usan API específicas de relojes, según corresponda (p. ej., para diseños circulares, paneles laterales de wearables, modo ambiente, etc.).
  • Las apps para reloj contienen una funcionalidad apropiada para un reloj.
  • Las apps para reloj pueden acceder a varias API de Android estándares, pero no admiten lo siguiente:

    Antes de usar una API, puedes llamar a hasSystemFeature() para verificar si un reloj admite una función.

Cómo ahorrar energía en el reloj

Para ahorrar energía en un reloj, debes habilitar el modo ambiente en tu app. Un reloj pasa del modo interactivo al modo ambiente cuando está inactivo o cuando un usuario cubre la pantalla con la palma de su mano. Las apps para reloj que pueden pasar al modo ambiente se denominan apps siempre encendidas. A continuación, se describen los dos modos de operación de este tipo de apps:

Interactivo
Usa una animación fluida a todo color en este modo. Además, la app reacciona a la entrada.
Ambiente
Procesa la pantalla con gráficos en blanco y negro, y no presentes indicaciones visuales en este modo. Solo se admite en dispositivos que ejecutan Android 5.1 o versiones posteriores.

En dispositivos que ejecutan versiones anteriores a Android 5.1 o en el caso de apps que no admiten el modo ambiente, cuando un usuario está inactivo en una actividad o cuando este cubre la pantalla con la palma de su mano durante una actividad, se muestra la pantalla principal de Wear en lugar de tu actividad en el modo ambiente. Si necesitas mostrar contenido persistente en versiones anteriores a Android 5.1, en su lugar, debes crear una notificación en la transmisión de contexto.