【发布时间】:2014-02-12 20:16:08
【问题描述】:
我正在尝试制作一个应用程序,它使用一堆文本文件作为其大部分操作的基础,并且可以从网络服务器更新这些文本文件。
目前,我的应用程序能够通过压缩存档下载一批文本文件,但我想知道是否有办法在下载之前检查我是否已经拥有 zip 文件的内容。
我现在要做的是下载并解压缩,然后逐行检查当前文件是否与最近下载的文件不同。
这似乎非常低效,但我不知道还有其他方法。
如果有人有任何建议,可以举一个小例子或给我指一个例子,我将不胜感激。
【问题讨论】:
-
您可以将上次下载文件的时间存储在 SharedPreferences 上,然后在您的 Web 服务上进行回调以返回您需要下载的文件上次更改的时间,您是否可以控制网络服务?
-
如果您可以在服务器上编辑文件,请添加一个计算 zip 文件哈希值的文件:这样您可以将服务器哈希值与您已有的 zip 文件的哈希值进行比较。如果两者相等,那么你的 zip 是最新的,如果不是,你需要重新下载文件
-
http 包含了一个机制。使用 if-modified-since 并检查 304 响应。
-
您也可以执行@BackSlash 之类的操作,但如果您只能存储哈希并调用以在您的网络服务上返回此哈希,则效果会更好,因此您无需执行下载只是为了检查文件
-
@GhostDerfel 这正是我要说的
标签: java android file download updates