Android 如何像dropbox/Google drive一样保持SD卡文件夹同步

Android 如何像dropbox/Google drive一样保持SD卡文件夹同步,android,database,dropbox,sync,Android,Database,Dropbox,Sync,您好,我正在学习dropbox,谷歌硬盘应用程序如何以一种非常好的方式保持同步。我想从这些人身上了解他们的实际情况 我有这样的方法,就像在应用程序中创建数据库一样。一旦用户将一个文件添加到该文件夹中,然后在数据库中添加该文件信息以及上载状态 同时,当添加/更新/删除任何文件时,更新上载状态并开始上载文件 我不确定我是否在这个方法上错了,请指导你们,你们可能知道更多关于这个的信息 我想知道dropbox应用程序如何保持我的android手机SD卡文件夹始终同步,即使我从任何地方(如浏览器)删除该文

您好,我正在学习dropbox,谷歌硬盘应用程序如何以一种非常好的方式保持同步。我想从这些人身上了解他们的实际情况

我有这样的方法,就像在应用程序中创建数据库一样。一旦用户将一个文件添加到该文件夹中,然后在数据库中添加该文件信息以及上载状态

同时,当添加/更新/删除任何文件时,更新上载状态并开始上载文件

我不确定我是否在这个方法上错了,请指导你们,你们可能知道更多关于这个的信息

我想知道dropbox应用程序如何保持我的android手机SD卡文件夹始终同步,即使我从任何地方(如浏览器)删除该文件夹的任何文件

每当用户同时从浏览器或任何位置删除任何文件时,dropbox会将该文件从我的SD卡的文件夹中删除。他们是怎么做到的?他们是否使用推送通知系统或在1秒钟内运行服务,以了解是否更新/添加/删除了任何文件


提前感谢。

我确信导出是一种改进,但是为什么不能够将sd卡文件夹同步到dropbox呢?我认为这可能更有用,更符合dropbox的目的。 来自苹果的我对安卓系统和我可以下载的文件所能做的一切感到惊讶。我希望我的设备上有一个dropbox文件夹,可以同步并备份到云。

检测更改 最难的部分是区分两种类型的“新文件” 仅仅是一个已经发布的新文件,或者是一个最近被删除的文件,这就是您决定是删除后者还是将其复制到丢失的目标的方式。 将文件从一个文件夹移动到另一个文件夹时也会发生同样的情况。 大多数同步系统使用隐藏文件来存储文件移动、历史记录(重命名、权限、更改等)和删除。例如,可以通过linux上的内核子系统使用inotify来检测这些问题

这样,一旦请求同步,应用程序就会与中央服务器进行双向同步,中央服务器记录最后一次同步请求。 所有其他连接的客户端正在检查上次同步时间,如果较新,则会启动到该时间的同步

2.现有办法: p2p系统如bittorent sync,该系统能够在每个对等点之间进行同步,没有中心空间

通用的双向同步,如Unison,它是在rsync之上进行的,并存储了所需的信息,以了解如何处理移动、重命名和删除的文件

轮询间隔 关于时间间隔,最好将其动态化。基于上次同步。如果同步是最近进行的,则每10秒检查一次,如果同步是几天前进行的,则将其设置为30秒,依此类推。人们不介意在0到10秒之间等待第一次更改,但他们会介意是否需要一次又一次地等待10秒。因此,如果变化是最近的,比如<1分钟,则每1或2秒检查一次

从最后一个回复开始的1或2秒,不是最后一个请求,或者如果出于某种原因,请求需要超过1秒才能返回,则您将填充队列。

可能重复的请求