如何将我的移动存储中的文件夹和同步中的Dropbox空间中的文件夹保存在一起?

时间:2015-03-17 12:31:32

标签: android synchronization dropbox-api

我为农民开发了一个Android应用程序。它是印度农民的信息应用程序。用户将通过我的应用程序向我发送图像和视频文件。在这里,我使用(集成)Dropbox将这些文件直接接收到我的Dropbox空间。无论用户拍摄的图像或视频如何,它都将存储在我的移动存储中的文件夹中。这就是我想要的,我希望我的移动存储中的文件夹与我的Dropbox中的文件夹同步。 我怎么能这样做?

市场上有一款名为Foldersync的应用程序,完全符合我的要求。他们是怎么做的?如何将移动存储中的文件夹和我的Dropbox中的文件夹保持同步?

注意:

我已经通过drop-box api创建了一个简单的应用程序,可以将文件直接发送到我的Dropbox空间,我知道如何从dropbox下载整个文件夹。

但是我的问题是独一无二的......请不要回答我已经知道的上述几点。

请帮忙! 谢谢

1 个答案:

答案 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

此处的主要工作将涉及对应用程序中的逻辑进行编程,以便从服务器正确接收更改以及上传本地更改,以便使所有内容保持同步。

另外,请注意,在移动设备上,带宽可能有限和/或昂贵,因此请注意不要意外地自动下载用户不想要或不需要的大量数据。