我怎样才能使移动存储中的文件夹与保管箱 space 中的文件夹保持同步?

how can i keep a folder in my mobile storage and a folder in my dropbox space in Sync?

我已经为农民开发了一个 android 应用程序。这是一个信息丰富的应用程序,供印度 farmer.The 用户使用,他们会通过我的应用程序向我发送图像和视频文件。在这里,我使用(集成的)保管箱将这些文件直接接收到我的保管箱 space。无论用户拍摄的图像或视频,它都会存储在我的移动存储中的文件夹中。我想要的是,我希望我的移动存储中的文件夹与我的保管箱中的文件夹同步。 我该怎么做?

市场上有一个名为 Foldersync 的应用程序完全满足我的要求。他们是怎么做到的?如何让移动存储中的文件夹与保管箱中的文件夹保持同步?

注:

我了解了保管箱 api 并创建了一个简单的应用程序来将文件直接发送到我的保管箱 space 我知道如何从保管箱下载整个文件夹。

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

请帮忙! 谢谢

您可以使用 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

这里的主要工作将涉及在您的应用程序中编写逻辑以正确接收来自服务器的更改以及上传本地更改,以保持一切同步。

此外,请注意,在移动设备上,带宽可能会受到限制and/or,因此请注意不要意外地自动下载用户不需要或不需要的大量数据。