Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android应用程序中使用hash减少httprequest的开销_Android_Hash_Httprequest - Fatal编程技术网

在Android应用程序中使用hash减少httprequest的开销

在Android应用程序中使用hash减少httprequest的开销,android,hash,httprequest,Android,Hash,Httprequest,用户场景是,当用户使用应用程序请求路由器中的文件时,路由器将发回一个文件字符串(与JASON文件类似,但不是) 它包含文件或目录信息。解析字符串后,它将创建一个对象数组,这样我就可以将它推送到列表视图的适配器。当用户按下目录图标时,它将发送一个http请求,以再次请求文件字符串,即使文件或目录信息保持不变 我只是想知道是否可以散列文件和目录信息,以判断数据是否已更改。如果没有更改,我就不必再发送另一个请求 但是应该散列哪些信息以及如何进行散列呢 有可用的插件吗 请提出一些策略,以减少这种情况下的

用户场景是,当用户使用应用程序请求路由器中的文件时,路由器将发回一个
文件字符串
(与JASON文件类似,但不是)

它包含文件或目录信息。解析字符串后,它将创建一个
对象数组
,这样我就可以将它推送到
列表视图的
适配器
。当用户按下目录图标时,它将发送一个
http请求
,以再次请求
文件字符串
,即使文件或目录信息保持不变

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

但是应该散列哪些信息以及如何进行散列呢

有可用的插件吗


请提出一些策略,以减少这种情况下的http开销。

如果您写入文件,那么是的-您可以创建一个校验和并将其写入一个已知位置,只有在校验和发生更改时才读取整个文件。已知的位置可以在每个文件中,也可以在每个目录中的单独文件中-利弊取决于您的需要和文件的更改方式

如果你不写这些文件,你将不得不更深入地研究如何利用路由器提供给你的任何洞察力来实现这一点。如果路由器提供的目录信息包括任何时间戳、校验和等,则您可以与上次下载信息的时间进行比较,并推断哪些文件已更改

如果不是的话,如果不再次下载文件,你就无法知道是否发生了变化,但你可以采取这样的态度:“如果时间不到10秒,那么谁在乎它是否发生了变化——只需向他们展示旧数据”。。。这取决于你的应用程序是否正常

如果您想要一个预先编写的校验和/哈希,可以尝试MD5,它通常用于UNIX/Linux上的文件校验和