Desarrollo de widgets en Android: bases, limitaciones, layouts y configuración
Introducidos en Android 1.5, los widgets son un tipo especial de app que aparece en la pantalla de inicio junto a accesos directos. Su layout se escribe en XML, pero sus funciones (qué hacer al actualizarse, al crearse, etc.) son métodos Java, heredados y sobrescritos de la interfaz AppWidgetProvider.
Bases del widget
Para crear un widget funcional que el usuario pueda añadir a la pantalla de inicio, debes crear una nueva clase que herede de AppWidgetProvider. Esta clase contiene métodos para recibir intents específicos de widget (ej. cerrar o actualizar). Un widget debe tener también un archivo XML de metadatos que informe al SO Android sobre sus propiedades: dimensiones mínimas, frecuencia de actualización, layout y otros datos necesarios.
Limitaciones
Los widgets en smartphones tienen tamaño limitado y solo pueden actualizarse con cierta frecuencia. En Android < 3.1, reemplazan iconos en la pantalla de inicio y no son redimensionables: al especificar tamaño mínimo, se estira para cubrir los huecos necesarios. En versiones posteriores, son redimensionables: esas variables son el "default" y nuevas variables (minResizeWidth, minResizeHeight) definen el tamaño mínimo real. Además, todos los widgets tienen frecuencia mínima de actualización: si especificas una menor, Android la ignora y usa la suya (ej. 30 min en v1.5).
Layouts de widgets
Los widgets deben funcionar en móviles con distintas resoluciones. LinearLayout es simple y encaja en cualquier pantalla; ordena componentes izquierda-derecha o arriba-abajo según atributo "android:orientation". FrameLayout y RelativeLayout también son compatibles. Los widgets pueden anidar layouts. Android 4.0+ aplica márgenes automáticos si targetSdkVersion es 14+; los desarrolladores recomiendan no añadir márgenes extra fuera de la forma de fondo del widget para esta plataforma.
Configuración del widget
Algunos widgets solo muestran info y no son personalizables. Otros ofrecen configuración. Para implementarla, crea una clase que extienda Activity y define el layout con XML. Tu clase de configuración debe acceder a los componentes de tu clase de layout para que el widget reconozca las acciones del usuario y se actualice. AndroidManifest.xml registra las activities implementadas.
- ·Cómo eliminar widgets en el HTC Hero (Android)
- ·Desarrollo de kernel Android: guía esencial
- ·Desarrollo con Android SDK: requisitos, configuración y publicación
- ·Paquete de desarrollo Android (Android SDK/NDK/Studio): crear apps para Play Store
- ·Cómo sincronizar manualmente widgets y cuentas en Android
- ·Cómo crear tu propio widget en Android
- ·Introducción al desarrollo de Android
- ·Se espera que los ingresos en aplicaciones móviles alcancen $25.000 millones en 2015
- Cómo añadir widgets en Android 2.3 (Gingerbread)
- Android 1.5 vs 1.6: Diferencias y novedades
- Cómo configurar el widget del tiempo en Android
- Cómo desinstalar permanentemente el widget Huellas (Footprints) en Android
- Cómo cambiar el tamaño de widgets en Android
- Desarrollo de interfaz gráfica (GUI) en Android
