Sincronización de BD SQLite con MySQL en Android

13,811 views
13,416 views

Published on

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

1 Comment
3 Likes
Statistics
Notes
No Downloads
Views
Total views
13,811
On SlideShare
0
From Embeds
0
Number of Embeds
2,240
Actions
Shares
0
Downloads
175
Comments
1
Likes
3
Embeds 0
No embeds

No notes for slide

Sincronización de BD SQLite con MySQL en Android

  1. 1. ADTG Open LimaCaso Práctico de Sincronización de BD SQLite con MySQLArmando Meison Chirinos Paredes mason.xp@gmail.com @ameison http://abcdroid.netHashtag: #gdevperu ADTGs - Academic Developer Technology Groups |
  2. 2. Sincronización de BD SQLite con MySQLObjetivos 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.
  3. 3. Sincronización de BD SQLite con MySQLAgenda:● 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.
  4. 4. Sincronización de BD SQLite con MySQLLibrería Arco Iris: Caso PrácticoLa librería Arco Iris (Kurmi en Aymara) en el afán de donarlibros a los colegios más necesitados del país, programauna campaña de recolección de libros con una duraciónde 2 semanas usando como medio el sorteo de un Auto.En este sorteo participa todo el Perú y el único requisito para poderparticipar es donar un libro.La forma de inscripción es personal, un grupo de apoyo irá de puerta enpuerta invitando al sorteo y en caso la persona acepte la invitación, se lesolicitará el numero de DNI para registrarlo previa entrega del libro.
  5. 5. Sincronización de BD SQLite con MySQLLibrería Arco Iris: Caso PrácticoPara lograr el objetivo la librería busca una solución que le permita recibiren su BD central, la relación de libros registrados por día en c/u de lasprovincias 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 alsorteo, 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 almacenadopor lo que es necesario posea capacidad de sincronización.
  6. 6. Sincronización de BD SQLite con MySQLAná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.
  7. 7. Sincronización de BD SQLite con MySQLBackend : Tabla Libros en MySQL.
  8. 8. Sincronización de BD SQLite con MySQLBackend : Estructura de directorios.
  9. 9. Sincronización de BD SQLite con MySQLBackend : Deploy !Para deployar nuestra app me he apoyadoen 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)..
  10. 10. Sincronización de BD SQLite con MySQLFrontend: Tabla Libros en SQLite.
  11. 11. Sincronización de BD SQLite con MySQLFrontend : Estructura de directorios.
  12. 12. Sincronización de BD SQLite con MySQL ● Frontend : Interfaz de Usuario ○ Agregar Libro ○ Lista de Libros.
  13. 13. Sincronización de BD SQLite con MySQL ¿Preguntas?.
  14. 14. Mi blog : http://abcdroid.net

×