【问题标题】:what is Correct Approach: Json -> ListView OR Json -> Sqlite -> Listview? [closed]什么是正确的方法:Json -> ListView OR Json -> Sqlite -> Listview? [关闭]
【发布时间】:2014-10-27 12:39:21
【问题描述】:

我正在以 JSON 的形式从服务器获取数据,并且必须在 Listview 中显示。现在我想知道的是,每次从服务器获取数据并直接显示在列表视图中会更好吗?或者我应该首先检索数据 -> 保存在 sqlite> 然后从那里填充它.. 是否值得付出额外的努力将 sqlite 纳入应用程序??

【问题讨论】:

  • 如果你想做缓存、同步、共享或过滤,请使用 SQLite。否则,我真的认为这样做没有任何意义。

标签: android json sqlite


【解决方案1】:

SQLiteDatabase 仅用于存储数据。如果您不需要将数据存储在设备上,我个人认为您应该只填充数据。

【讨论】:

  • 这是一个意见,而不是一个答案。不是你的错,这是一个糟糕的问题。
【解决方案2】:

如果您从 RESTful API 服务器获取信息(从表面上看),您有两种方法:

如果您的服务器经常更改该数据

  • 从服务器获取信息。
  • 填充您的列表(不要将其保存在 SQlite 中)。

如果您的服务器需要一些时间来更改数据

  • 从服务器获取信息。 (第一次)
  • 将其保存在 SQlite 中
  • 填充列表
  • 偶尔
    • 检查服务器,当前数据哈希是否有效
    • 如果是,什么也不做
    • 如果不是,请重新开始这篇文章。

这是我将采取的方法。

【讨论】:

    【解决方案3】:

    正如其他人已经概述的那样,sqlite 可以在您需要时存储数据,例如在离线情况下。但是,我不建议仅仅在 sqlite 中缓存您的 JSON 数据,因为您必须花时间编写存储层来获取缓存。我推荐的是一个已经为您缓存数据并且您不必关心存储的库。 示例:Android 版 Robospice (https://github.com/stephanenicolas/robospice/wiki/Starter-guide)

    【讨论】:

      【解决方案4】:

      如果您想每次都显示相似的数据,那么您应该使用 SQLite 选项。每次您没有从服务器获取数据时,SQLite 都会将数据存储在本地设备中,从而节省响应时间。

      【讨论】:

        【解决方案5】:

        选择“SQLite 缓存”可能有几个原因,但您很可能希望在应用的后台状态下加载数据。假设您的用户在您加载数据时按下主页按钮。然后,如果您直接在 Activity 中执行此操作,则当用户返回您的应用程序时,他将需要等待数据加载。另一方面,您可以将加载移动到服务中,将数据保存到 SQLite,然后在 Activity 中从数据库加载数据。从用户的角度来看,这使您的应用程序更快。但是在开发应用程序时,您将不得不处理更多的组件。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-11-20
          • 1970-01-01
          • 2012-04-15
          • 1970-01-01
          • 1970-01-01
          • 2016-11-05
          相关资源
          最近更新 更多