Cómo crear widgets en la pantalla de inicio en Flutter con HomeWidget y Back4App
Los widgets de la pantalla de inicio permiten a los usuarios acceder a información en tiempo real de su aplicación directamente en la pantalla de inicio de su dispositivo sin abrir la aplicación. Con Flutter, crear estos widgets requiere algo de código específico de la plataforma. Sin embargo, el home_widget paquete cierra esta brecha al permitir el intercambio de datos entre su aplicación Flutter y los widgets de la pantalla de inicio utilizando código Dart.
En este tutorial, aprenderás cómo crear un widget de pantalla de inicio en Flutter utilizando el home_widget paquete e integrarlo con Back4App—un backend como servicio impulsado por Parse Server. Al final de este tutorial, tendrás una aplicación Flutter que muestra datos de Back4App en un widget de pantalla de inicio.
Para completar este tutorial, necesitarás:
- Flutter SDK instalado en tu máquina. Puedes seguir la guía oficial de instalación de Flutter para tu sistema operativo.
- Conocimientos básicos de Flutter y Dart. Si eres nuevo en Flutter, considera revisar la documentación de Flutter para familiarizarte con los conceptos básicos.
- Un IDE o editor de texto como Visual Studio Code o Android Studio.
- Parse Server SDK para Flutter agregado a tu proyecto. Puedes aprender a configurarlo siguiendo la Guía del SDK de Flutter de Back4App.
- Configuración específica de la plataforma para widgets de pantalla de inicio de Android e iOS.
Abre tu terminal y ejecuta:
Navega al directorio del proyecto:
Abre pubspec.yaml y agrega las siguientes dependencias:
Ejecuta flutter pub get para instalar los paquetes.
- Haz clic en "Crear nueva App".
- Ingresa un nombre para tu aplicación, por ejemplo, "HomeWidgetApp", y haz clic en "Crear".
- En el panel de control de tu aplicación, navega a la "Base de datos" sección.
- Haz clic en "Crear una clase".
- En el modal:
- Selecciona "Personalizado".
- Ingresa "Mensaje" como el nombre de la clase.
- Haz clic en "Crear clase".
- En la "Mensaje" clase, haz clic en "+" para agregar una nueva columna.
- Agrega las siguientes columnas:
- título: Tipo Cadena
- contenido: Tipo Cadena
- Agrega algunos datos de ejemplo a la "Mensaje" clase. Por ejemplo:
- Navega a Configuración de la aplicación > Seguridad y claves.
- Anota tu ID de aplicación y Clave de cliente.
Abre lib/main.dart y modifícalo de la siguiente manera:
- Reemplaza 'YOUR_APPLICATION_ID' y 'YOUR_CLIENT_KEY' con tus credenciales reales de Back4App.
Crea un nuevo archivo lib/home_page.dart:
- Clase de Mensaje: Una clase de modelo simple para contener los datos del mensaje.
- fetchMessage(): Obtiene datos de la Clase de Mensaje en Back4App y actualiza la variable de mensaje.
- updateHomeWidget(): Guarda los datos obtenidos en el widget de la pantalla de inicio usando HomeWidget.saveWidgetData y desencadena una actualización usando HomeWidget.updateWidget.
- build(): Muestra los datos del mensaje y un botón para actualizar el mensaje.
Crea un nuevo archivo de diseño XML en android/app/src/main/res/layout/ llamado home_widget.xml:
Crea una nueva clase de Java en android/app/src/main/java/your/package/name/ llamada HomeWidgetProvider.java:
Reemplaza your.package.name con el nombre de tu paquete real.
Agrega el proveedor del widget a tu AndroidManifest.xml:
Crea un nuevo archivo XML en android/app/src/main/res/xml/ llamado home_widget_info.xml:
- Abre tu proyecto de Flutter en Xcode abriendo ios/Runner.xcworkspace.
- Haz clic en Archivo > Nuevo > Objetivo.
- Elige Extensión de Widget y haz clic en Siguiente.
- Ingresa HomeWidget como el nombre del producto y asegúrate de que Incluir Configuración de Intento esté desmarcado.
- Haz clic en Finalizar y Activar el esquema.
En la HomeWidget extensión, abre HomeWidget.swift y modifícalo:
- Reemplace YOUR_GROUP_ID con su identificador de grupo de aplicación (por ejemplo, group.com.example.homeWidgetApp).
- En Xcode, seleccione su proyecto y vaya a Signing & Capabilities.
- Agregue "App Groups" tanto a su objetivo principal de la aplicación como a la extensión del widget.
- Cree un nuevo Grupo de Aplicaciones (por ejemplo, group.com.example.homeWidgetApp).
- Asegúrese de que ambos objetivos tengan habilitado el mismo Grupo de Aplicaciones.
En su updateHomeWidget() método en home_page.dart, actualice los nombres de los widgets:
En tu terminal, ejecuta:
- Mantén presionada la pantalla de inicio y selecciona "Widgets".
- Encuentra tu app en la lista de widgets.
- Arrastra y suelta el widget en tu pantalla de inicio.
- Ingresa modo de jiggle manteniendo presionada la pantalla de inicio.
- Toca el "+" botón en la esquina superior izquierda.
- Busca tu widget por nombre.
- Agrega el widget a tu pantalla de inicio.
- Toca el "Botón de Actualizar Mensaje" en tu aplicación para obtener nuevos datos de Back4App.
- El widget en tu pantalla de inicio debería actualizarse con los nuevos datos.
En este tutorial, aprendiste cómo crear un widget de pantalla de inicio en Flutter utilizando el home_widget paquete e integrarlo con Back4App para mostrar datos dinámicos. Esto te permite proporcionar a los usuarios información actualizada directamente en sus pantallas de inicio, mejorando el compromiso y la experiencia del usuario.
- Datos Dinámicos: Implementa actualizaciones de datos en tiempo real utilizando las Consultas en Vivo de Back4App.
- Interactividad: Agrega acciones de clic a tu widget para abrir páginas específicas en tu aplicación.
- Personalización: Estiliza tu widget para que coincida con el tema y diseño de tu aplicación.
¡Feliz Codificación!