我为农民开发了一个Android应用程序。它是印度农民的信息应用程序。用户将通过我的应用程序向我发送图像和视频文件。在这里,我使用(集成)Dropbox将这些文件直接接收到我的Dropbox空间。无论用户拍摄的图像或视频如何,它都将存储在我的移动存储中的文件夹中。这就是我想要的,我希望我的移动存储中的文件夹与我的Dropbox中的文件夹同步。 我怎么能这样做?
市场上有一款名为Foldersync的应用程序,完全符合我的要求。他们是怎么做的?如何将移动存储中的文件夹和我的Dropbox中的文件夹保持同步?
注意:
我已经通过drop-box api创建了一个简单的应用程序,可以将文件直接发送到我的Dropbox空间,我知道如何从dropbox下载整个文件夹。
但是我的问题是独一无二的......请不要回答我已经知道的上述几点。
请帮忙! 谢谢
答案 0 :(得分:1)
您可以使用Dropbox API使本地客户端与Dropbox保持同步。这有两个主要部分:
1)元数据:
假设您正在使用Core API,获取有关帐户中所有文件和文件夹(或可选地在特定路径下)的信息的最佳方法是使用/ delta:
https://www.dropbox.com/developers/core/docs#delta
有了这个,您可以获得有关您的应用可以看到的所有内容的信息,然后轻松了解更改。在这里使用/ delta有一些有用的博客文章:
https://blogs.dropbox.com/developers/2013/12/efficiently-enumerating-dropbox-with-delta/ https://blogs.dropbox.com/developers/2013/12/filtering-dropbox-delta-results-by-path/
2)文件内容:
使用从#1检索到的元数据,您可以使用/ files(GET)下载本地需要访问的任何文件:
https://www.dropbox.com/developers/core/docs#files-GET
您可以使用/ files_put上传本地更改的文件:
https://www.dropbox.com/developers/core/docs#files_put
或者,对于较大的文件,请使用分块上传:
https://www.dropbox.com/developers/core/docs#chunked-upload https://www.dropbox.com/developers/core/docs#commit-chunked-upload
此处的主要工作将涉及对应用程序中的逻辑进行编程,以便从服务器正确接收更改以及上传本地更改,以便使所有内容保持同步。
另外,请注意,在移动设备上,带宽可能有限和/或昂贵,因此请注意不要意外地自动下载用户不想要或不需要的大量数据。