我正在开发一个Android应用程序,我应该从Dropbox文件夹中将一些数据下载到SDCARD上的文件夹中,并且只有下载完成后,该应用程序才能启动。问题是我在SDCARD文件夹上有一些可用的文件,这些文件也与其他一些文件一起在Dropbox文件夹上也存在,现在当我启动应用程序时,我应该只能下载SDCARD文件夹上不存在的那些文件。我应该怎么去?谢谢。
当您从Dropbox下载任何文件时,请从Dropbox文件的元数据中存储rev
值。
稍后,当您再次检查时,如果远程rev
与您的本地值匹配,则您知道您仍然具有相同的版本。如果没有,请下载新版本。
仅检查文件名和文件大小是错误的,因为文件的两个不同版本可以具有相同的大小。
编辑:Dropbox API现在提供了可以用来验证文件内容的文件数据。在API V2 Java SDK中,可作为FileMetadata.contentHash
。
它不是单个MD5或SHA1,而是文件片段的SHA256哈希的组合。您可以在此处找到更多信息:
https://www.dropbox.com/developers/reference/content-hash