¿Cómo conectar una aplicación de Android con ‘mi propio back-end de base de datos en tiempo real de Node.Js’? ¿Cómo lo mantengo sincronizado todo el tiempo con mi back-end?

  • Cambio de datos: los datos pueden cambiar en ambos lados del servidor y en el dispositivo, por lo que necesitará tener un mecanismo para descubrir la diferencia. Agregue una columna en su tabla como “updated_time” y cada vez que se actualice una fila, actualícela con la hora actual. Mantenga un “último tiempo de sincronización” en la aplicación de Android. Ahora, es simple obtener la actualización, ejecute la consulta con la cláusula where como “updated_time> LAST_SYNC_TIME”.
  • Comunicación de datos: tanto la aplicación de Android como el servidor de fondo deben comunicarse entre sí cada vez que haya una nueva actualización. Desde Android hasta backend, use las API REST para enviar los datos de la aplicación al backend. Desde el backend hasta la aplicación móvil, use FCM para notificar a la aplicación móvil que hay una actualización. Una vez que la aplicación recibe la notificación, solo necesita hacer una llamada a las API REST para recuperar el cambio de datos después de LAST_SYNC_TIME.
  • Manejar el uso fuera de línea: agregue un observador para el cambio de conectividad. Coloque los datos en la base de datos local y envíelos al servidor una vez que vuelva la conectividad a Internet.

Ejecute un módulo Socket.IO en su backend y haga que su aplicación conduzca acciones basadas en eventos del servidor.

También podría hacerlo de la manera más fácil con Deepstream, Parse-server e incluso Firebase.

Debe realizar la API REST para su back-end y comunicarse utilizando la API en su cliente de la aplicación Android en un intervalo específico.

More Interesting

¿Cuáles deberían ser las habilidades deseadas de un desarrollador si estoy trabajando como desarrollador iOS con 2.5 años de experiencia? Backend / dominio móvil

¿Cuál es la mejor opción para tecnología web o front-end (HTML, CSS, JS, etc.) y DBMS o back-end?

¿Cuál es mejor pagado: un desarrollador front-end, back-end o full-stack?

¿Cuál es la especialización oficial que ofrecen la mayoría de las universidades si quieres trabajar en desarrollo móvil, desarrollo de backend y seguridad cibernética?

¿Cuáles son los mejores recursos para crear un backend de iOS en AWS o Google App Engine?

¿Cómo conectar una aplicación de Android con 'mi propio back-end de base de datos en tiempo real de Node.Js'? ¿Cómo lo mantengo sincronizado todo el tiempo con mi back-end?

¿Cuáles son las opciones para las pruebas de automatización de back-end de Node.js?

¿Tengo que ser un desarrollador web de pila completa para ser un probador de aplicaciones web, y debo aprender PHP como desarrollador de back-end?

En MS Access, ¿cómo divido mi base de datos en el front-end y el back-end?

¿El desarrollo de iOS es front-end o back-end?

Después de trabajar durante 2 años en la programación front-end, ¿puedo cambiar a programación back-end?

¿Vale la pena elegir un entorno .NET en lugar de Python para desarrollar un back-end para un proyecto piloto?

¿Es inevitable aprender Java y .Net en algún momento de la carrera de desarrollo de backend?

¿Los desarrolladores de back-end ganan más que los desarrolladores frontend?

¿Cuál es la diferencia entre front-end, back-end y programación / desarrollo del lado del servidor?