通过在Android应用中使用哈希来减少http请求的开销

时间:2014-08-14 10:21:12

标签: android hash httprequest

用户场景是当用户使用应用程序请求路由器中的文件时,路由器将发回file string。(如JASON文件但不是)

它包含文件或目录信息。解析字符串后,它将创建object array,以便我可以将其推送到adapter的{​​{1}}。当用户按下目录图标时,即使文件或目录信息保持不变,它也会发送listview再次请求http request

我只是想知道是否可以散列文件和目录信息来判断数据是否已被更改。如果它没有改变,我不必发送另一个请求。

但是应该对哪些信息进行散列以及如何进行操作?

有没有可用的插件?

请在此方案中建议一些减少httpoverhead的策略。

1 个答案:

答案 0 :(得分:0)

如果您编写文件,那么是 - 您可以创建校验和并将其写入已知位置,只有在校验和发生更改时才读取整个文件。该已知位置可以位于每个文件中,也可以位于每个目录的单独文件中 - 根据您的需要以及如何更改文件的优缺点。

如果你不写这些文件,你就必须深入挖掘一下,以便用路由器为你提供的任何洞察力来解决这个问题。如果路由器提供的目录信息包括任何时间戳,校验和等,那么您可以比较上次下载信息并推断出哪些文件已更改。

如果没有,您无法在不重新下载文件的情况下知道某些内容是否已更改,但您可以采取类似的态度,如果它不到10秒那么谁在乎它是否有所改变 - 只要向他们展示旧数据" ...取决于你的应用程序是否理智。

如果你想要一个预先编写的校验和/哈希 - 也许是尝试MD5 - 它经常用于UNIX / Linux上的文件校验和。