1

我使用 PHP 访问我的数据库并在线生成 XML 文件。然后,我的 android 应用程序获取该 XML 文件,对其进行解析,并将数据插入 SQLite 数据库。

这工作得很好,但速度非常慢。我们有一个 iOS 应用程序和一个 Android 应用程序都在做同样的事情......每次用户想要刷新数据时,android 应用程序需要 7-10 秒,而 iOS 应用程序最多只需要 2-3 秒。

记录不多——平均30-50条。有很多内容 - 一些大文章,每篇都有 2-10 张照片(我没有下载照片 - 只是导入它们的 url,大小......等)

我遵循了一个关于如何使用 Sax 导入我的 XML 的示例(据说是最快的方法)。

TLDR:
有没有更好的方法可以格式化我的数据,使其比我现在做的更快?CSV?使用 PHP 生成 SQLite 插入语句?什么是“规范”和/或“最佳”?


编辑: 我读的越多,听起来 JSON 和 XML 之间的区别就越小,如果它是大数据(如文章)而不是 JSON,使用 XML 甚至可以更快。不确定这是否正确,只是进一步阅读的细节。

4

3 回答 3

0

不要使用XMLJSON,而是查看 Google 的Protobuf

https://developers.google.com/protocol-buffers/docs/overview

http://code.google.com/p/protobuf/

由于您使用的是 PHP,因此您需要找到适合您的实现,这里有一个列表:

http://code.google.com/p/protobuf/wiki/ThirdPartyAddOns

展望未来,这将是一种非常好的传输和编组数据的方式。请让我们知道这是否适合您。

于 2012-07-25T14:48:05.360 回答
0

我曾经创建一个 SQLite db 文件并 gzip 它,然后在设备上解压缩并直接使用它。(肯定不是一个好方法)

对于以后的数据更新,我使用 json 来传输数据。JSON 确实可以处理大型文章,但如果您愿意,您可以将文章的 URL 放在 JSON 中,然后在后续传输中获取它们。

于 2012-07-25T14:48:31.197 回答
0

您应该尝试使用JSON而不是XML我认为使用它可能会更快。它在 Android 上受支持,据我所知 iOS 也可以处理它。

于 2012-07-25T14:36:43.987 回答