【问题标题】:Passing multiple sqlite rows to mysql?将多个sqlite行传递给mysql?
【发布时间】:2011-05-29 18:13:49
【问题描述】:

我正在集思广益我应该如何处理这个问题。这就是应用程序的工作方式:

  1. 用户在应用中输入多条数据
  2. 应用程序将数据存储到 SQLite 数据库中
  3. 用户点击 SYNC 按钮,应用程序会将所有新的/更新的/删除的信息传递给站点 PHP 并更新 MYSQL。

我在想我可以做一个循环,一次向 mysql 发送(和接收)一行,或者我可以使用字符串生成器来构建 XML,然后将 XML 字符串传递(和接收)到 PHP 进行处理. xml 将具有标记数据,指定是否要添加、删除或更新元素。

我认为 XML 是一个更好的选择,但我来这里是为了征求意见,我应该如何将多行添加/删除或更新到我的 MYSQL,因为我觉得这样做可能更有效/更简单.

谢谢!

--更新--

这是我发现的一些有用的 JSONArrays 链接,供那些寻求与我有关 Android SQLite 到 PHP MYSQL 的类似信息的人使用。

  1. 关于 PHP 中 JSONArrays 的好教程:http://webhole.net/2009/08/31/how-to-read-json-data-with-php/
  2. 另一个关于Java JSONArrays 的教程:http://www.androidcompetencycenter.com/2009/10/json-parsing-in-android/

【问题讨论】:

  • 对不起,我不明白这与 sqlite-export 有什么关系?因为我正在尝试创建一个同步结构,而不仅仅是将 SQLite 数据库转储到 MYSQL 中。如果我做了 SQLite 转储,那不会覆盖 MYSQL 表(根据我正在阅读的内容)吗?除非导出可以是具体的?
  • 您想要什么和实际存在什么功能通常是两件不同的事情。也不意味着有人为你创造了它……
  • 我没想到有人创造了它。我可能应该改写我正在寻找的内容。我正在寻找在 SQLite 和 MYSQL 之间发送和接收数据库添加/删除/更新信息。我正在考虑在字符串中构建一个 XML 文件并将其传递给 Android 和 Web 服务器。

标签: android mysql sqlite data-migration


【解决方案1】:

啊,意见。但痛苦的事情是:每个人都有一个,每个人都认为他们的意见比下一个人的意见更好。

我已经实现了一个几乎相同的系统:不过我使用了 JSON。使用 XML 没有内在的问题:任何您喜欢的翻译层都可能没问题。 JSON(对我来说)比 XML 更紧凑,双方需要的代码更少(json_decode 是你的朋友),而且在我看来,它比使用 XML 更容易锄头。不过 PHP 的 simplexml 可能也可以正常工作。

如果您从头开始执行此操作,您可能希望查看其中一个具有自动数据同步功能的系统,例如 Mobile Couchbase(请参阅 http://www.couchbase.com/products-and-services/mobile-couchbase):需要更多工具和更大的服务器/客户端资源占用但可能会让你更快到达那里。

【讨论】:

  • 我正在查找 Java 的 JSON,它看起来很容易使用。但是我似乎无法弄清楚如何从 SQLite 添加 3 行数据?在添加列数据之前,我是否只需在数组中添加键值或行值?
  • 在我的例子中,我向服务器发送了一个 JSON 数组。数组中的每一行都是一个 JSON 对象:该对象有一个 action 键(值是 DELETE 或 UPDATE)和一个 data 键(值是 JSON 对象使用 SQLite 数据:每列都有一个带有列名/列值的键/值)。我根据数据字段中的服务器 ID 列在服务器上创建/更新,返回服务器 ID(如果它是 CREATE),然后将其写回 SQLite 表(以供将来更新)。
  • 我想我明白了,我查找了一些 JSON 数组的示例...这就像在数组中有一个高度组织化的数组...是吗?
  • 是的,它是一组嵌套在数组中的 JSON 对象,数组中的每一行需要同步一个条目。
  • 对于像我这样的新手,我发现了一些非常有用的链接,这些链接让我能够更好地了解如何通过 Android 在 PHP 和 Java 中获取高度结构化的 JSONArray。请参阅上述更新。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-25
  • 1970-01-01
  • 2018-11-08
  • 1970-01-01
  • 2017-12-15
  • 1970-01-01
  • 2020-10-03
相关资源
最近更新 更多