2012-07-14 15 views
8

Estoy trabajando en la actualización de la base de datos en un dispositivo móvil que está usando SQLite db, que debe actualizarse como actualizaciones del servidor es la base de datos, es decir, el servidor wamp.
¿Alguien me puede dar alguna idea sobre cómo lograr esto?
No quiero leer toda la base de datos del servidor, ya que aumentaría el uso de datos al leer toda la base de datos solo para una actualización única o para varias actualizaciones. La actualización se realiza en la tabla de productos y solo el campo de precios se actualiza por el lado del servidor.Actualización de la base de datos sqlite cuando la base de datos del servidor se actualiza

+0

Para sincronizar datos entre el cliente y el servidor RESTful API es una forma común de lograrlo. Puede almacenar en caché sus actualizaciones para otro usuario que solicite la misma actualización. De todos modos, ¿qué pasa con la lectura de la base de datos? – biegleux

+0

Leyendo la base de datos se crea el uso de datos si soy capaz de leer un valor de un solo campo que utilizará mucho menos el uso de datos comparativamente – Sumit

+0

Estoy pensando en una creación de una tabla independiente que mantendrá los detalles de la actualización y el usuario leerá sólo aquellos detalles para actualizar su base de datos ... ¿qué crees que es una buena práctica? – Sumit

Respuesta

6

Puede definir un servicio en su aplicación que periódicamente le pregunte si hay datos actualizados en su servidor db. En el lado del servidor, puede implementar un servicio web que recibirá un objeto json en el que colocará la fecha actual, el nombre de la tabla que desea verificar y otras informaciones basadas en sus propósitos. Me explicaré mejor con un ejemplo: 1) cuando la aplicación inicia un servicio en segundo plano también se iniciará. Este servicio consultará (por ejemplo, cada 3 minutos) su servicio web para ver si hay nuevas actualizaciones para una tabla específica. 2) El servicio web recibirá el nombre de la tabla que desea verificar y la fecha y hora de preferencia en la marca de tiempo unix. Por ejemplo, querrá ver si hay nuevos registros para la tabla "productos" después de 2012-08-20 22:00:00. Puede crear un objeto json y una solicitud http con esta información dentro de su aplicación y pasarla al lado del servidor. 3) Su servicio web responderá dando una matriz json con todos los datos que se agregarán o modificarán después de 2012-08-20 22:00:00. Por supuesto, en el servidor db usted tiene que almacenar esta información (básicamente cada registro tendrá un campo con la fecha y hora de la primera inserción/última modificación)
4) A continuación, puede actualizar su base de datos local SQLite.

Probablemente esto no es muy eficiente, pero funciona.

Andrea

Cuestiones relacionadas