conectarse al servidor sql desde android

Actualmente estoy desarrollando una aplicación Field-Service que almacena datos en la base de datos sqlite local en un dispositivo Android. En algún momento, generalmente después de completar las rondas de recolección de datos, el archivo sqlite local db se sincronizará con un servidor sql remoto db en el servidor, también tengo que actualizar alguna tabla local desde el servidor sql db.

¿Alguna sugerencia sobre cómo esto podría lograrse o diseñarse como una solución? O incluso mejor, ¿hay alternativas a la sincronización de datos en una aplicación de este tipo?

Creo que lo mejor es usar un intermediario como los servicios web o su propia capa de lógica basada en TCP para su aplicación que se conectaría al servidor SQL y ejecutaría las solicitudes de su aplicación. No intente conectarse a su servidor SQL directamente desde Android. Puede escribir código de back-end en su servidor (o servicio web) y luego llamar a esos métodos de código desde su dispositivo Android usando Http.

Y también hay muchos temas en stackoverflow como tu:

  • Cómo conectar Android a un servidor de base de datos
  • Conexión de Android con MS SQL SERVER 2008

Acerca de cómo escribir servicios web. Es una gran pregunta, y debes elegir la tecnología, hay muchas bibliotecas, marcos y plataformas que te ayudan a simplemente escribir un servicio web. Debe elegir el protocolo de comunicación, puede ser SOAP, WSDL o tal vez eliminar el procedimiento de llamada, puede ser una aplicación de descanso. Si usas la stack java, hay algunos frameworks populares en este momento:

  • Apache CXF
  • Servicios web Spring
  • Axis2

Puede comenzar leyendo lo que es un servicio web:

También algunos enlaces que proporcionan ejemplos de acceso a servicios web desde Android:

  • Paso a paso para acceder al servicio web desde Android
  • Servicios web de Android y soap
  • Acceder al servicio web restfull con android

Tendría que mantener un servidor en línea de nivel medio. Lo que puede comunicarse entre su aplicación y MSSQL db. Puede ser servlet o un controlador de solicitud que se sincroniza entre SQLite y SQL Server db.

Otro enfoque mucho más sencillo es utilizar un controlador JDBC virtual que confíe en una architecture segura de tres niveles: su código JDBC se envía a través de HTTP a un servlet remoto que filtra el código JDBC (configuración y seguridad) antes de pasarlo a MySql JDBC Conductor. El resultado se envía de vuelta a través de HTTP.

Hay algunos progtwigs gratuitos que usan esta técnica. Solo busque “Controlador JDBC de Android a través de HTTP”.