【发布时间】:2012-05-30 02:46:26
【问题描述】:
我在 Android 设备上有一个 SQLite 数据库和一个 MySQL 远程主数据库。 Android 设备用户可以修改数据库(即添加、删除、修改)记录。我想要的是在 Android 设备在线时自动将 Android 设备上的数据库同步到主数据库。同步主数据库上的记录后,应反映所有添加、删除或在某些情况下发生的修改。
好的,这就是我想做的事情。在我创建的 Databasehelper 类中,我将在每个方法中添加代码,以便每次调用方法并在本地 android 数据库中执行相应的查询时,执行的查询字符串将存储在一个简单的文本中文件。因此,本地数据库中可以不断发生更改,查询字符串将继续存储在文件中。它基本上会创建一个 SQL 转储(对吗?)。现在,当我在客户端编写我的 JDBC MySQL 连接代码时,我将让它一次从该文件中读取一行,并在主 MySQL 服务器上执行查询。听起来怎么样?我想它也可以删除。
但是出现了以下疑问:
1) MySql 的 JDBC 连接器可以在 Android 设备上运行吗?我在网上浏览并找到了相互矛盾的答案。有人说这行不通。有人说您只需将外部 jar 文件 mysql-connector-java-3.0.17-ga-bin 添加到项目的构建属性中。对此真的很困惑。对PHP一无所知,所以我希望它能工作。
2) 连接后,我认为我不需要从 MySql 主数据库返回任何结果。我只需要执行存储在主数据库上的文本文件中的 sql 转储。听起来很简单吧?
3) 现在换一种方式同步。我在 Sqlite 上发现的好处是即使它们也接受 SQL 查询。因此,对于另一种同步方式,我需要让 Android 设备下载特定文件夹中的 Sql Dump 文件,然后获取我创建的数据库适配器以从下载的文件中读取并执行查询。这听起来要困难得多。有什么想法吗?一件事是确定 SQLite 数据库不允许连接到远程服务器。
有些疑问可能看起来很糟糕,但我真的需要你们的帮助。如您所见,我是数据库中的菜鸟。
【问题讨论】:
-
你的问题不清楚,我认为这里的问题是服务器端支持的服务如何。例如,该服务提供了一些用于在主数据库上添加、删除、编辑的 API。然后在 android 上你只需创建一个 Rest 客户端来与这个服务通信。
-
这是一项体面的工作,如果您没有展示您为达到目的所做的任何工作,您可能不会获得太多帮助。展示一些您迄今为止尝试过的示例,以便其他人可以帮助您解决特定问题
标签: php android mysql database sqlite