2016-12-29 6 views
0

Я разрабатываю приложение для Android, и я должен загрузить некоторые данные в папку на SD-карте из папки Dropbox, и как только загрузка будет завершена, приложение сможет начать. Проблема: у меня есть некоторые файлы, доступные в моей папке sdcard, которые также присутствуют в папке с Dropbox вместе с некоторыми другими файлами, и теперь, когда я запускаю свое приложение, я могу загрузить только те файлы, которых нет в моей папке sdcard , Как мне это пройти? Благодарю.Как разместить содержимое локальной папки на SD-карте android с содержимым папки на Dropbox?

+0

Я не уверен, но, возможно,/вызов метаданных будет полезен для вас. И самый простой способ сравнить имена файлов и файл размера файла по файлу – Beyka

+0

Сравнение имен файлов и размера файла кажется хорошей работой. Благодарю. –

ответ

2

При загрузке любых файлов из Dropbox сохраните значение rev из метаданных файла Dropbox.

Позже, когда вы снова проверите, если удаленный rev соответствует вашему местному значению, вы знаете, что у вас все еще есть та же версия. Если нет, загрузите новую версию.

Просто проверка имени файла и размера файла подвержена ошибкам, так как две разные версии файла могут иметь одинаковый размер.


Редактировать: API Dropbox теперь предлагает хэш-файл данных, который вы можете использовать для проверки содержимого файла. В API v2 Java SDK он доступен как FileMetadata.contentHash.

Это не один MD5 или SHA1, а скорее комбинация хэшей SHA256 фрагментов файла. Вы можете найти более подробную информацию здесь:

https://www.dropbox.com/developers/reference/content-hash