如何将文件夹中的选定文件从Android设备同步到Google云端硬盘,反之亦然

时间:2015-12-29 17:00:20

标签: android google-drive-api google-drive-android-api seek random-access

是否可以将Android设备中文件夹/目录中的选定文件同步到带云端硬盘驱动器的Google云端硬盘Android API。为了做到这一点,我需要学习或研究什么样的东西。

Google Drive to Android device sync

Android device to Google Drive sync

1 个答案:

答案 0 :(得分:1)

首先,简单明了:
有2个Apis,REST Api(v2v3)和GDAA。两者都至少会为您提供CRUD功能(请参阅herehere)。如果您使用REST Api,则会获得更多低级功能,您必须处理网络问题(同步服务?)。 GDAA将负责(在线/离线状态等)。

现在,不那么容易的部分,如何同步:
REST Api具有内置功能Push Notifications,因此它看起来像一个胜利者。直到您意识到必须提供处理通知的服务器并将其(通过GCM?)发送到您的Android应用程序。如果您需要处理网络状态,那么REST Api推送通知肯定需要很多实现。

从我的'玩弄'到目前为止,最优雅的方式是将GDAA与Firebase结合使用。 GDAA处理CRUD,Firebase进行通信。

这是一个原始的算法:

用于GDAA下的Android设备
1 / Android应用创建一个文件,接收completion notification with ResourceId
2 /将ResourceId添加到Firebase中 3 /每个Firebase参与者都会收到通知

或用于REST或其他实体(web,ios)下的Android应用程序
1 / app(REST,web,ios)创建一个产生ResourceId的文件 2 /将文件的ResourceId添加到Firebase中 3 /每个Firebase参与者都会收到通知

GDAA适用于我,因为两个“更新程序”都是相同的Android应用程序(基本上在设备之间同步应用程序的相同数据)。遗憾的是,由于GDAA不支持DRIVE范围,因此它不会看到“其他实体”创建的文件,因此您仍可以考虑使用“REST + Firebase”解决方案。

谨慎提问:
请注意带宽/电池消耗。无论何时触摸Firebase更新方法,都会有导致battery drain的即时网络流量,从而打败GDAA正在做的工作以最小化它。

祝你好运