我在Android设备和MySQL远程主数据库上有一个SQLite数据库。 Android设备用户可以修改数据库(即添加,删除,修改)记录。我想要的是每当Android设备在线时自动将Android设备上的数据库同步到主数据库。同步主数据库上的记录后,应反映所有添加,删除或在某些情况下已发生的修改。
好的,这就是我想做的事情。在我创建的Databasehelper类中,我将在每个方法中添加代码,以便每次调用方法并在本地android数据库中执行相应的查询时,执行的查询字符串将存储在一个简单的文本中文件。因此,更改可以在本地数据库中继续发生,查询字符串将继续存储在文件中。它基本上会创建一个SQL Dump(对吧?)。现在,当我在客户端编写JDBC MySQL连接代码时,我会让它从该文件一次读取一行并在主MySQL服务器上执行查询。听起来怎么样?我想它也会照顾删除。
但是出现了以下疑虑:
1)JDBC Connector for MySql是否适用于Android设备?我在网上浏览过并找到了相互矛盾的答案。有人说它不起作用。有人说你只需要将外部jar文件mysql-connector-java-3.0.17-ga-bin添加到项目的构建属性中。对此真的很困惑。不知道PHP,所以我希望这有效。
2)连接后,我认为我不需要从MySql主数据库返回任何结果。我只需要执行存储在master数据库上的文本文件中的sql dump ive。听起来很容易吧?
3)现在以其他方式同步。我在Sqlite上发现的好处是它们甚至接受SQL查询。因此,对于其他方式同步,我需要让Android设备下载特定文件夹中的Sql Dump文件,然后获取已创建的数据库适配器以从下载的文件中读取并执行查询。这听起来更加艰难。有什么想法吗?有一件事是确保SQLite数据库不允许连接到远程服务器。
有些疑惑似乎很差,但我真的需要你的帮助。正如你所看到的,我是数据库中的菜鸟。
答案 0 :(得分:0)
你可能尝试的一种方法(在这里大声思考)是:
如果
,所有这些都会让多更复杂