2010-08-16 263 views
12

我目前正在开发一个Field-Service应用程序,它将数据存储在android设备上的本地sqlite数据库中。在某些时候,通常在完成数据收集之后,本地sqlite数据库将被同步到服务器上的远程sql服务器数据库,同时我需要从sql服务器数据库更新一些本地表。从android连接到sql server

有关如何实现或设计为解决方案的任何建议?或者更好的是,在这种应用程序中是否有其他同步数据的选择?

+0

即使在做同样的项目,让我知道如果你得到的代码工作 – VenomVendor 2012-05-24 18:05:22

回答

18

我认为最好的方式是使用中介,如Web服务或您自己的基于TCP的逻辑层为您的应用程序连接到SQL服务器并执行您的应用程序的请求。不要试图直接从Android连接到您的SQL服务器。您可以在您的服务器(或webservice)上编写 一些后端代码,然后使用Http从Android设备调用这些代码方法。

而且也有很多主题在计算器喜欢你:

关于如何编写Web服务。这是一个很大的问题,您必须选择技术,有很多库,框架和平台可以帮助您简单编写Web服务。您必须选择通信协议,它可能是SOAP,WSDL或者可能删除调用过程,它可能是其他应用程序。如果您使用的Java堆栈,还有一些流行框架的时刻:

您可以从阅读开始什么是Web服务是:

也有一些链接,其提供从Android的访问Web服务的例子:

+1

不知道OP是在找什么,但我希望有关如何构建类似项目的建议。我尝试使用SOAP,但我无法获得XML解析在Android框架中工作?我试图使用的所有图书馆都很笨重,或者依赖于我无法导入的东西。 – Yamikuronue 2012-05-31 12:26:20

+0

@Yamikuronue恕我直言,SOAP太慢了。我在Android SQLite <-> PostgreSQL远程数据库同步项目中成功使用了[Apache Thrift](http://thrift.apache.org/),并且像魅力一样工作。 – m0skit0 2013-07-14 17:24:44

0

你将不得不保持一个中间层的在线服务器。它可以在你的应用程序和MSSQL数据库之间来回通信。可以是servlet或同步的请求处理程序补间SQLite和SQL Server数据库。

0

另一个更简单的方法是使用依赖于安全三层体系结构的虚拟JDBC驱动程序:您的JDBC代码通过HTTP发送到远程Servlet,在通过它之前过滤JDBC代码(配置&安全性)到MySql JDBC驱动程序。结果通过HTTP发回给您。

有一些免费的软件使用这种技术。只需谷歌“通过HTTP的Android JDBC驱动程序”。