我目前正在开发一个Field-Service应用程序,它将数据存储在Android设备上的本地sqlite数据库中.在某些时候,通常在完成数据收集轮次之后,本地sqlite db将被同步到服务器上的远程sql server db,我还需要从sql server db更新一些本地表.
有关如何实现或设计解决方案的任何建议?或者更好的是,在这样的应用程序中是否有同步数据的替代方案?
我认为最好的是为您的应用程序使用Web服务或您自己的基于TCP的逻辑层之类的中介,它将连接到SQL服务器并执行您的应用程序的请求.不要尝试直接从Android连接到SQL服务器.您可以在服务器(或webservice)上编写一些后端代码,然后使用Http从Android设备调用这些代码方法.
而且stackoverflow中有很多主题,比如:
如何将Android连接到数据库服务器
将android与MS SQL SERVER 2008连接
关于如何编写Web服务.这是一个很大的问题,您必须选择技术,有很多库,框架和平台可以帮助您简单地编写Web服务.你必须选择通信协议,它可能是SOAP,WSDL或者可能是删除调用程序,它可能是rest应用程序.如果你使用java堆栈,目前有一些流行的框架:
Apache CXF
Spring Web Services
Axis2的
您可以从阅读Web服务的内容开始:
http://en.wikipedia.org/wiki/Web_service
还有一些链接提供了从android访问Web服务的示例:
一步一步从android访问Web服务
Android和肥皂网服务
使用android访问restfull Web服务