El API 23 SDK ahora disponible para Android Wear
lunes, 22 de febrero de 2016
El nuevo LG Watch Urbane 2nd Edition LTE es el primer reloj con Android 6.0 Marshmallow (API 23) para Android Wear. Actualmente, en todos los demás relojes Android Wear se usa la API 22 y en los próximos meses también recibirán una actualización de la API 23 por vía inalámbrica.
¿Qué significado tiene esto para ti como desarrollador de Android Wear? Deberás asegurarte de que tus aplicaciones sean compatibles con relojes que tengan las API 23 y 22. Aunque puedes comenzar a implementar las nuevas funciones de esta publicación, deberás de todas formas conservar la compatibilidad con versiones anteriores hasta que se actualicen todos los relojes.
Nuevo modelo de permisos y ejemplos
A través de la API 23, se presenta un nuevo modelo de permisos de tiempo de ejecución para teléfonos y relojes. Este nuevo modelo permite a los usuarios seleccionar los permisos que se otorgarán a las aplicaciones en el momento del uso. A su vez, las configuraciones de los nuevos permisos permiten que los usuarios activen y desactiven permisos en cualquier momento.
Para usar el nuevo modelo de permisos en Wear, lee Permisos en Android Wear. En esta guía de capacitación, se tratan en profundidad situaciones relacionadas específicamente con Wear, como los casos en que tu aplicación de Wear se basa en permisos de teléfonos. A su vez, se actualizaron todos los ejemplos de Android Wear para que se use el nuevo modelo de permisos y, en un ejemplo de RuntimePermissionsWear, se muestra la manera de administrar solicitudes de permisos en los dispositivos.
Cuando estés listo, puedes actualizar tu aplicación en el teléfono y el reloj para que usen compileSdkVersion 23 ytargetSdkVersion 23. Asegúrate de verificar y solicitar los permisos necesarios en tu aplicación en el tiempo de ejecución, tanto en el teléfono como en el reloj. Es importante que no actualices targetSdkVersion a la versión 23 antes de implementar las verificaciones de permisos de manera adecuada, ya que esto cambia el modo en que el sistema instala y ejecuta la aplicación. Por ejemplo, una llamada de API que previamente pudo haber devuelto un resultado puede fallar y hacer que la aplicación se comporte de manera inesperada.
Calificadores de recursos -round y -notround
La API 23 facilita la creación de aplicaciones para relojes Android Wear redondos y cuadrados. Escuchamos sus comentarios y agregamos nuevos calificadores de recursos -round y -notround, a fin de que puedan usar el sistema de recursos para cargar las imágenes, los diseños y las cadenas correspondientes según el tipo de reloj con el que trabajen. También puedes combinar esto con calificadores de recursos existentes como -280dpi y -360dpi para los diferentes relojes Android Wear actualmente disponibles. Todas las clases existentes de la biblioteca de IU portátil, como WatchViewStub,BoxInsetLayout y WearableFrameLayout también continuarán funcionando, para que no necesites modificar tu código. Los calificadores de recursos -round y -notround no funcionarán en dispositivos con la API 22. Por lo tanto, no pienses que estarán disponibles hasta que todos los dispositivos cuenten con la API 23.
Relojes con altavoces
El LG Watch Urbane 2nd Edition LTE es el primer reloj con soporte para altavoces. Por ello, ahora puedes agregar sonidos a tu aplicación para Wear. Puedes reproducir archivos de audio usando las mismas API que están disponibles en teléfonos Android, como AudioTrack, MediaPlayer y ExoPlayer. Mira el ejemplo y lee la documentación para aprender a detectar la disponibilidad del altavoz en un dispositivo Wear y reproducir sonidos en él.
Soporte para procesadores Intel x86
Junto a otros relojes Android Wear futuros, el nuevo TAG Heuer Connected está equipado con procesadores Intel x86. Si trabajas exclusivamente con código Java, tus aplicaciones funcionarán en cualquier arquitectura. Sin embargo, si usas NDK, deberás proporcionar bibliotecas compartidas armeabi-v7a y x86 en tu APK portátil. Debido a que solo se puede contener una aplicación portátil en una aplicación para teléfonos, no es posible proporcionar diferentes APK para diferentes relojes según la arquitectura. Si en tu APK portátil falta una biblioteca x86, no se instalará en relojes de arquitectura x86 con INSTALL_FAILED_NO_MATCHING_ABIS y código -113.
Si usas Android Studio, deberás ajustar tu archivo build.gradle para incluir lo siguiente:
ndk { abiFilters = ['armeabi-v7a','x86'] }Si usas el NDK directamente, deberás modificar tu archivo Application.mk para que use lo siguiente:
APP_ABI := armeabi-v7a x86Estos cambios solo deben realizarse para el APK portátil, y puedes continuar ofreciendo soporte para otras ABI en los teléfonos. Puedes probar tu aplicación verificando si funciona en el emulador x86 proporcionado por el Administrador de SDK.
Emulador actualizado
Se encuentran disponibles nuevas imágenes del emulador de Android Wear para relojes con la API 23 y arquitectura x86 y se pueden descargar del Administrador de SDK en Android Studio. También agregamos perfiles que representan a todos los relojes Android Wear disponibles, para que puedas realizar pruebas fácilmente en cualquier dispositivo que desees. También es importante que comprendas y pruebes todas las combinaciones de teléfonos (API <= 22, API = 23) y dispositivos portátiles (API 22, API 23), a fin de que tu aplicación funcione para todos los usuarios.
Actualizaciones para relojes existentes
Las nuevas imágenes del emulador te permiten comenzar de inmediato a probar e implementar aplicaciones actualizadas para usuarios de relojes que tienen la API 23. Aún no se anunció el cronograma de actualización inalámbrica de relojes Android Wear existentes. Lo anunciaremos en la comunidad Google+ de desarrolladores de Android Wear. También te avisaremos cuando se complete la implementación y deje de ser necesario el soporte para la API 22 de Android Wear.