Android Jetpack Glance para widgets de aplicaciones | Por Enes Zor | Enero de 2022
¡Hola a todos! Ha pasado mucho tiempo desde mi última publicación. Esta vez, estoy aquí para presentarles Jetpack Glance for App Widgets. Empecemos:)
Jetpack Glance es un marco de estilo de composición que permite desarrollar vistas remotas de Android. Puede crear widgets de aplicaciones hermosos, modernos y responsables con menos código y una API declarativa de Kotlin. Jetpack Glance todavía está en alfa, versión 1.0.0-alpha01. Para agregar Glance a su proyecto, debe agregar Google Maven y dependencias en su gradle de compilación.
puedes pedirHAprende cómo funciona Vistazo. En pocas palabras, proporciona compatibilidad de vista compuesta con vistas remotas.No olvides que tiene su propio conjunto de elementos componibles no interoperables. androidx.compose. Su propio traje aún no tiene todos los componentes combinados del jetpack. Creo que saldrán con una versión más estable. Bueno, ¡vamos a ponernos las manos sudorosas!
En este punto, comenzaré explicando cómo crear un widget de Bitcoin paso a paso a través de una implementación de código.
- Crear widget de aplicación xml en recursos. Este archivo xml es la identidad de su widget específico. Allí puede agregar las propiedades necesarias, como minWidth, minHeight, updateFrequency, etc. Para obtener más propiedades, consulte la documentación oficial de Android.
2. Cree su GlanceAppWidget. Esta es la capa de interfaz de usuario que comunicamos con AppWidgetManager. Cuando llame a su método de actualización, la composición comenzará y las vistas de la composición se traducirán a RemoteViews. Para la composición, debe anular el método Contenido como se muestra a continuación.
Por cierto, he separado la vista de redacción en diferentes archivos. Esta debajo. Si desea ver otra vista que existe en este archivo, compartiré la URL completa del repositorio de Github al final de este artículo. Además, trataré de explicar lo que está pasando adentro en una sección adicional.
3. Cree GlanceAppWidgetReceiver. Esta clase se deriva de AppWidgetProvider para generar vistas remotas. Debe anular la propiedad de la vistaAppWidget para crear su receptor de widgets.
Después de compartir el código de MarketWidgetReceiver, quiero compartir mis necesidades lo antes posible. Con este widget, los usuarios deben ver el precio diario de bitcoin y la tasa de cambio. Además, puede hacer clic en el botón Actualizar para obtener el último valor de la fuente de datos local. Estoy hablando de la fuente local, porque si no está vencida, pondremos el valor más reciente en la fuente local.
El método onUpdate funcionará cuando el widget aparezca por primera vez en su dispositivo. Hay un observeData allí. Este método inicia una corrutina para obtener datos localmente. Después de eso, encuentro mi widget y obtengo todos los valores necesarios a través de Preferencias para la clase de widget relevante.
Puede decir cómo actualizar los datos. En este punto, escuchamos nuestro evento de actualización a través de la clase MarketRefreshCallback como se muestra a continuación.
4. Cree una devolución de llamada de acción. Como explicamos en la última oración de la sección anterior, queremos escuchar el clic del botón Actualizar. Para hacer esto, creamos ActionCallback y anulamos el método onRun. En este método, creamos la intención de enviar la transmisión. Esta transmisión notificará al método MarketWidgetReceiver onReceive. En última instancia, obtenemos esta transmisión a través de una intención y observamos nuestros datos más recientes.
5. Actualice el archivo Manifest para agregar la clase MarketWidgetReceiver para comunicarse con nuestro widget. Y no olvide agregar el proveedor del widget de la aplicación.
Aquí está la vista previa final de todas las funciones. Aquí está el enlace del código fuente de Github si desea ver todos los proyectos. Gracias por leer 🙏