【问题标题】:Best practice for query online data in android application?在android应用程序中查询在线数据的最佳实践?
【发布时间】:2015-07-17 17:12:03
【问题描述】:

在我的 android 应用程序中,用户需要加载填充在 Listview 中的大约 >100 行。为了每天更新新数据而不更新应用程序,我将数据存储在 XML 文件中,将其放入服务器中,当用户打开应用程序时,我的应用程序会从服务器加载新的 XML 文件并将它们解析到我的 Listview 中。

我的练习是不是一个好方法?与 JSON 相比,它的性能如何?以及什么时候需要使用 MySQL 服务器?

【问题讨论】:

  • 如果您将 xml 解析数据存储到 sqlite 数据库并从那里检索数据会更好,因为它会在应用程序离线时减少网络依赖性并且它会节省电池,因为它不会每次调用 Web 服务需要填充列表的时间

标签: android json xml listview


【解决方案1】:

您的方法很好,但 JSON 会更好一些,因为它更紧凑。参考这个答案:JSON and XML comparison

使用 SQLite 数据库缓存您的数据,从设备上的数据库读取数据比发出网络请求要快得多。

【讨论】:

  • 对不起,我忘了说我需要每天/每周更新数据而不更新应用程序。所以也许 JSON 是一个不错的选择。谢谢!!!
【解决方案2】:

这是一种静态方法。每次要更改结果时,都必须自己编辑 XML。

动态方法将使您创建一个数据库来存储数据(MySQL 或任何其他),您将编写一个与数据库通信并查询数据的脚本,然后您需要在 XML 或 Json 格式之间进行选择.我认为 Json 比 XML 更快、更易读,而且 JSON 也更紧凑。

【讨论】:

    【解决方案3】:

    您可以使用Protocol Buffers

    根据网站:

    协议缓冲区是 Google 的语言中立、平台中立、 序列化结构化数据的可扩展机制——想想 XML,但是 更小、更快、更简单。你定义你希望你的数据如何 结构化一次,然后您可以使用特殊生成的源代码 轻松将结构化数据写入和读取各种 数据流和使用多种语言。

    协议缓冲区的好处:

    在序列化方面,协议缓冲区比 XML 有很多优势 结构化数据。协议缓冲区:

    are simpler
    are 3 to 10 times smaller
    are 20 to 100 times faster
    are less ambiguous
    generate data access classes that are easier to use programmatically
    

    【讨论】:

      猜你喜欢
      • 2019-03-18
      • 1970-01-01
      • 2010-10-12
      • 2012-11-01
      • 2015-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多