2012-06-04 11 views
6

Estoy tratando de averiguar si necesito usar un adaptador de sincronización en mi aplicación de Android.Cuándo utilizar/no usar un adaptador de sincronización

Procesal Enfoque Ejemplo:

  1. (con una cobertura de red) Los cambios realizados por un usuario serán enviados automáticamente al servidor.
  2. (SIN cobertura de red) Los cambios se guardarán en una tabla sqlite y esperarán a que una transmisión en línea cargue cambios.
  3. Los cambios enviados al servidor se guardarán en una tabla sqlite reflejando hasta cierto punto lo que hay en el servidor.
  4. Los cambios en el servidor utilizarán el marco C2DM para notificar a los usuarios de los cambios.
  5. Cuando la aplicación recibe la notificación, obtendrá los datos necesarios del servidor y actualizará las tablas sqlite.

La pregunta es, ¿debería usar un adaptador de sincronización para este trabajo? De ser así, ¿cuál sería el enfoque de alto nivel basado en mi ejemplo anterior? Gracias.

Respuesta

2

¿Con qué aplicación de servidor desea sincronizar? Si su aplicación quiere sincronizar datos de usuario con un servidor, C2DM (usando el adaptador de sincronización) puede ser el camino a seguir. Proporciona sobrecarga. Encuentro que en la mayoría de los casos, una simple y relajante interfaz es más fácil de crear y mantener.

Si quiere una respuesta más detallada, deberá proporcionar más información sobre su aplicación.

+0

Gracias por la respuesta. Estaba buscando una implementación de servidor PHP que administrara las solicitudes HTTP. El enfoque tranquilo como describiste era realmente la forma en que yo quería ir. La sobrecarga de luz es la clave. – HGPB

+0

Cuando pienso en la sincronización, pienso en un flujo de datos bidireccional en cada sincronización. Mi aplicación realmente no requerirá esa funcionalidad, como puede ver en mi ejemplo. – HGPB

1

Si no le importa el agotamiento de la batería, use SyncAdapter para realizar la sincronización bidireccional periódica (hacia abajo y hacia arriba) y modifique solo la base de datos local para interactuar con la acción del usuario. De esta forma, solo necesita dos scripts en el servidor, uno para la sincronización descendente y el otro para la sincronización ascendente.

Por supuesto es necesario tener

1). 3 indicadores, es decir, insert_state, update_state y delete_state para db local para indicar datos sucios.

2). uuid tanto para db local y remota

GoogleIO RELAJANTE sincronización de Referencia: http://www.youtube.com/watch?v=xHXn3Kg2IQE

Cuestiones relacionadas