【问题标题】:How to sync selected files in a folder from Android device to Google Drive and vice versa如何将文件夹中的选定文件从 Android 设备同步到 Google Drive,反之亦然
【发布时间】:2015-12-31 21:14:12
【问题描述】:

是否可以使用 Drive 和 Android API 将文件夹/目录中的选定文件从 Android 设备同步到 Google Drive。为了做到这一点,我需要学习或查看哪些内容。

Google Drive to Android device sync

Android device to Google Drive sync

【问题讨论】:

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


【解决方案1】:

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

现在,不是那么容易的部分,如何同步:
REST Api 有一个内置功能,Push Notifications,所以它看起来像个赢家。直到您意识到您必须提供一个服务器来处理通知并将其(通过 GCM?)发送到您的 Android 应用程序。如果添加处理网络状态的需求,REST Api Push Notifications 肯定需要大量的胆量来实现。

根据我的“玩弄”,迄今为止最优雅的方法是将 GDAA 与 Firebase 结合使用。 GDAA 处理 CRUD,Firebase 进行通信。

这是一个原始算法:

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

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

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

请注意:
小心带宽/电池消耗。每当您接触 Firebase 更新方法时,都会有即时网络流量导致 battery drain,从而破坏 GDAA 为将其最小化所做的工作。

祝你好运

【讨论】:

  • 非常感谢。我会看穿它并尝试解决它
猜你喜欢
  • 1970-01-01
  • 2016-07-26
  • 2020-02-11
  • 1970-01-01
  • 2012-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-30
相关资源
最近更新 更多