1

我正在我的应用程序中实现一个新闻页面。我希望该页面下载任何新图像并将其存储在手机上。

我的问题是:我如何知道哪些图像已下载,哪些尚未下载?

我正在考虑将图像保存为 yymmddhhss.png 但这似乎很草率。我看到有人使用 url.hashCode() 实现,但我不确定它的作用,所以我不确定它是否适用于我的应用程序。

我希望实现使用内置函数或文件名技巧。我宁愿不设置数据库或首选项来存储上次下载图像的名称/日期。

4

1 回答 1

2

不要使用 hashCode()。那是Java特定的。如果你更深入地研究 - hashCode()

每当在 Java 应用程序执行期间对同一个对象多次调用它时,hashCode 方法必须始终返回相同的整数,前提是没有修改对象上的 equals 比较中使用的信息。该整数不需要从应用程序的一次执行到同一应用程序的另一次执行保持一致。


最简单的解决方案是md5使用完整 URL 并使用它来命名文件。它将为您提供一致的文件名长度,并最大限度地减少与其他图像冲突的机会。您不需要在名称中添加日期,因为您可以直接从文件写入时检索它。

获取 MD5 的简单示例 -示例

于 2012-10-18T05:10:57.853 回答