Estoy hablando de “sincronización” aquí. Puedes descubrir la lógica correcta para ti.
Cuando necesite mantener dos extremos sincronizados, debe mantener una “última marca de tiempo modificada” con cada registro en ambos extremos. También debe mantener una “última marca de tiempo sincronizada” en el lado del cliente.
Cuando está sincronizando, verifica todos los cambios que ocurrieron después de su valor de “última marca de tiempo sincronizada”. Cuando obtiene un conjunto de registros modificados, debe comparar cada uno de ellos con sus copias locales y aceptar el último. Si tiene el último registro, debe intimar el servidor y permitir que el servidor actualice sus datos.
- ¿Existe un software para desarrollar aplicaciones móviles sin conocimientos de programación?
- ¿Cuál es la mejor aplicación / sitio web para que mi primo de 10 años escriba historias?
- Cómo comenzar a trabajar independientemente en el desarrollo de aplicaciones de Android con menos conocimiento
- Soy desarrollador de aplicaciones para teléfonos Blackberry y Windows (C #) durante los últimos 2 años. Recientemente intenté familiarizarme con Eclipse para la plataforma Android y me pareció realmente molesto. ¿Me estoy perdiendo de algo?
- ¿Debería aprender programación en Android si Google está desarrollando Fuchsia?
(Y vea, esto es sobrescribir ciegamente una información existente con una nueva. Si desea manejar los conflictos, debe hacerlo manualmente, aún así la lógica sigue siendo la misma).
Por ejemplo, veamos este flujo:
– Antes de sincronizar –
El servidor tiene:
“Apple” (última modificación a las 10:00 a.m.)
“Naranja” (última modificación a las 10:20 am)
El cliente tiene:
“Albaricoque” (última modificación a las 10:15 am)
“Orangután” (última modificación a las 9:55 am)
[última sincronización: 9:45 am]
– La próxima sincronización comienza a las 10:30 a.m. –
El cliente le pregunta al servidor: “Dame todas las modificaciones que tuvieron lugar después de las 9:45 am ”
El servidor responde:
“Apple” modificado a las 10:00 a.m.
Además, “Orange” modificado a las 10:20 am.
El cliente piensa:
“Apricot” es lo último, significa que el servidor debe aceptar mi modificación.
“Orangután” es el más antiguo, significa que debería aceptar la modificación del servidor.
El cliente le dice al servidor: “¡Actualice ese registro de” Apple “con” Apricot “, que es el último valor!”.
El servidor responde: “Sí, lo actualizaré”.
– La sincronización terminó a las 10:31 am –
El servidor tiene:
“Albaricoque” (última modificación el 10:31 am)
“Naranja” (última modificación a las 10:20 am)
El cliente tiene:
“Albaricoque” (última modificación a las 10:15 am)
“Naranja” (última modificación a las 10:31 am)
[última sincronización: 10:31 am]
– En la próxima sincronización, –
El cliente le pregunta al servidor: “Dame todas las modificaciones que tuvieron lugar después de las 10:30 a.m.”
Eso es todo.