Top Banner
15

Sincronización de BD SQLite con MySQL en Android

Jun 13, 2015

Download

Documents

Meison Chirinos

Workshop sobre sincronización de bd SQLlte - MySQL en el ADTG Open Lima.
Las fuentes del proyecto realizado la pueden encontrar aquí :

https://github.com/ameison/kurmi
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Sincronización de BD SQLite con MySQL en Android
Page 2: Sincronización de BD SQLite con MySQL en Android

ADTG Open Lima

Caso Práctico de Sincronización de BD SQLite con MySQL

Armando Meison Chirinos Paredes

[email protected] @ameison http://abcdroid.net

Hashtag: #gdevperu

ADTGs - Academic Developer Technology Groups |

Page 3: Sincronización de BD SQLite con MySQL en Android

Sincronización de BD SQLite con MySQL

Objetivos de la sesión:

● Comprender el mecanismo básico del proceso de sincronización.● Diseñar e implementar una solución básica que nos permita

implementar una solución más compleja.

Page 4: Sincronización de BD SQLite con MySQL en Android

Sincronización de BD SQLite con MySQL

Agenda:

● Caso Práctico: Librería Arco Iris.● Análisis y Diseño● Backend (RESTful Web service con Jersey y Tomcat)

○ Creación de la capa de datos.○ Implementación de RESTful WS, Test

● Frontend (Android)○ Creación de la capa de datos.○ Consumiendo WS, Sincronización.

● Ronda de preguntas.

Page 5: Sincronización de BD SQLite con MySQL en Android

Librería Arco Iris: Caso Práctico

La librería Arco Iris (Kurmi en Aymara) en el afán de donarlibros a los colegios más necesitados del país, programa una campaña de recolección de libros con una duración de 2 semanas usando como medio el sorteo de un Auto.

En este sorteo participa todo el Perú y el único requisito para poder participar es donar un libro.

La forma de inscripción es personal, un grupo de apoyo irá de puerta en puerta invitando al sorteo y en caso la persona acepte la invitación, se le solicitará el numero de DNI para registrarlo previa entrega del libro.

Sincronización de BD SQLite con MySQL

Page 6: Sincronización de BD SQLite con MySQL en Android

Sincronización de BD SQLite con MySQL

Librería Arco Iris: Caso Práctico

Para lograr el objetivo la librería busca una solución que le permita recibir en su BD central, la relación de libros registrados por día en c/u de las provincias del Perú (Es importante que sea enviado lo mas antes).

Desea que sea lo más ágil posible por lo queconsidera el uso de un cliente en tablet paramanejar el registro de estos libros.

Considera la posibilidad de trabajar sin internet debidoa las caminatas por parte del equipo de invitación al sorteo, por ello debe poder almacenarse en una base dedatos dentro del dispositivo móvil.

Considera la posibilidad de que los dispositivospuedan editar los libros que tiene almacenado por lo que es necesario posea capacidad de sincronización.

Page 7: Sincronización de BD SQLite con MySQL en Android

Sincronización de BD SQLite con MySQL

Análisis y Diseño :

De la historia descrita anteriormente podemos resaltar:

1. Forma de comunicación, tenemos básicamente 2 opciones a seguir: Soap o Rest, para nuestro caso elegiremos Rest por : a. Su sencillez.b. Para el cliente en android no será necesario el uso de librerías.

2. Sincronización, para mantener sincronizada la tabla, agregaremos los siguientes campos extras :a. idDevice : Que representa el identificador único del dispositivo,

con esto sabremos que Tablet creó el registro.b. idversion: Como si se tratará de un SCV, cada registro mantendrá

un identificador de versión para saber en todo momento si se tiene la última versión.

c. idMySQL en SQLite y idSQLite en MySQL para saber donde sincronizar.

Page 8: Sincronización de BD SQLite con MySQL en Android

Sincronización de BD SQLite con MySQL

Backend : Tabla 'Libros' en MySQL

.

Page 9: Sincronización de BD SQLite con MySQL en Android

Sincronización de BD SQLite con MySQL

Backend : Estructura de directorios

.

Page 10: Sincronización de BD SQLite con MySQL en Android

Sincronización de BD SQLite con MySQL

Backend : Deploy !

Para deployar nuestra app me he apoyado en CloudBees : http://www.cloudbees.com/

CloudBees es una plataforma como servicio(Paas) que abarca tanto los servicios de de-sarrollo como de producción para java, y esgratuito para proyectos Open Source comoel caso nuestro de la librería Arco Iris (Kurmi).

.

Page 11: Sincronización de BD SQLite con MySQL en Android

Sincronización de BD SQLite con MySQL

Frontend: Tabla 'Libros' en SQLite

.

Page 12: Sincronización de BD SQLite con MySQL en Android

Sincronización de BD SQLite con MySQL

Frontend : Estructura de directorios

.

Page 13: Sincronización de BD SQLite con MySQL en Android

Sincronización de BD SQLite con MySQL

● Frontend : Interfaz de Usuario○ Agregar Libro○ Lista de Libros

.

Page 14: Sincronización de BD SQLite con MySQL en Android

Sincronización de BD SQLite con MySQL

¿Preguntas?

.

Page 15: Sincronización de BD SQLite con MySQL en Android

Mi blog : http://abcdroid.net