En la parte 5 veremos el final del proyecto App Productos que comenzamos hace tiempo. Esta consta de: añadir y editar clientes, eliminar clientes, ver detalle de facturas, editar facturas, la sincronización de los dispositivos Android hacia el servidor y viceversa.
Si eres nuevo, puedes ver de que tratan los 4 niveles anteriores aquí:
Primera Sincronización
Al inicio de la app introduje un fragmento de carga que inicia la priemra sincronización de productos, clientes, facturas y sus items.
Una vez se lleva a cabo pasamos directamente a las facturas.
Añadir/Editar Clientes
Este caso de uso consiste en la dilegencia de un formulario con los datos propuestos en el escenario de App Productos para el ciente. Al guardarse lo veremos en la lista.
Incluso procesaremos los errores de cada campo de texto:
La edición parte del tap en un item de la lista de clientes. Reciclaremos el formulario para cargar la información y así habilitar cambios:
Si por alguna razón se presiona los botones Up o Back y hay cambios, haremos que el usuario confirme su voluntad de descarte del cliente.
Eliminar Clientes
En la misma pantalla de edición, tendremos un action button para eliminación. Detectaremos el evento en la vista para desencadenar y pediremos la confirmación de eliminación.
Si se confirma, entonces procederemos a ejecutar el interactor hacia el repositorio de clientes para concretar el borrado de la base de datos.
Detalle De Factura
En la parte 4 ya teníamos lista de facturas y creación. Esta vez procesaremos el tap en los items de lista para ver los detalles:
Presentaremos en forma de documento las operaciones linea a linea de los productos comprados y proyectaremos sus totales.
Editar Factura
Así mismo, podremos editar desde el detalle la factura visualizada. Cargaremos los datos y permitiremos que el usuario haga los cambios correspondientes.
Al igual que en la edición de clientes, presentaremos un diálogo de confirmación en el descarte de datos.
Sincronización Bidireccional
Esta vez incluiremos el framework de Sync Adapters de Android para ejecutar un servicio que sostenga nuestras sincronizaciones.
Extenderemos nuestra servicio REST PHP para que procese sincronizaciones locales y remotas a través del nuevo recurso /sync
.
Estas dos peticiones nuevas manejadas por el controlador de sincronizaciones dejarán que los dispositivos Android actualicen al servidor, y que el servidor actualice a los disposivos Android; siempre conservando el registro más reciente.
Debido a que tenemos 4 tablas (productos, clientes, facturas e items de factura), usaremos un empaquetado JSON en batch que permita sincronizar los cambios en una sola petición web.
Ejemplo: El siguiente es un video que muestra la inserción, edición y eliminación en la app y paralelamente vemos los cambios en la base de datos del servidor en phpMyAdmin.
Descargar Tutorial, Proyecto Android Studio Y API PHP
El precio del tutorial completo en sus 5 partes es de $100 USD ($20 USD si ya tienes las 4 primeras partes).
Espero te sea de gran ayuda. Estaré atento a tus impresiones.
¡Saludos!
James
Únete Al Discord De Develou
Si tienes problemas con el código de este tutorial, preguntas, recomendaciones o solo deseas discutir sobre desarrollo Android conmigo y otros desarrolladores, únete a la comunidad de Discord de Develou y siéntete libre de participar como gustes. ¡Te espero!