Android-使用适用于Android的Google Drive API

丹尼尔(Daniele)

对于我的应用程序,我需要与Google云端硬盘进行列表同步。我已经实现了SignIn并让Main_Activity都实现了:

com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks,
com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener

即使我阅读了完整的Android版Google Drive API文档,尤其是“商店应用数据”部分。并查看了GitHub上示例,但我无法使其正常工作。我个人认为该文档确实让人难以理解。甚至还不清楚适用于Android的Google Drive API和Google Drive REST API之间的区别是什么,我应该在我的方案中使用哪一个。

我还注意到GitHub上的示例扩展了自定义Activity,其中包含其他方法。

你们谁能逐步解释如何使用android drive API?

Cheticamp

我对您的挫败感很熟悉。有“ Google Drive Android API”(GDAA)和“ Drive REST API”。网上有一些很好的文档,但是要找到并理解它可能是一个挑战,尤其是因为软件包的名称是如此相似。此外,至少有两个现有版本的“ Drive REST API”,您必须保持版本直。

关于GDAA,您已经找到了本文档,但是您应该仔细阅读。我建议您做一个简单的活动,例如创建文件并从那里开始工作。

我认为您引用的GitHub上示例中的自定义Activity是BaseDemoActivity该类仅提供一些生命周期方法和其他一些常规例程。

Google Drive Android API(GDAA)与Play服务紧密集成,Google声称提供了更好的性能。(请参阅此处的注释):

注意:此快速入门说明了在Android应用程序中使用Drive REST API。但是,在大多数情况下,通过使用Android Drive API(与Google Play服务集成并提供更好的性能),生产的Drive应用程序将受益匪浅。在Android应用程序中使用Drive REST API之前,您应该仔细查看Android的Drive API,并在可能的情况下在您的应用程序中使用它。如果您想了解更多信息,可以使用适用于Android快速入门的Drive API。

即使如此,由于严格限制同步频率,我在大多数情况下还是放弃了GDAA。(有关更多详细信息,请参阅本文底部的注释。)

使用GDAA时,要记住的关键一件事是,即使您的代码可以在UI线程上运行,但GDAA仍不能执行它可能代表您执行的冗长任务。这意味着一旦您请求GDAA从UI线程完成某些任务,则GDAA将在后台(而不是在UI线程上)完成该工作,并通过回调将结果传递给您。

尽管这种结构是必要的,但它意味着您的代码将是GDAA调用的一系列方法,并且不一定演示您可能习惯的清晰顺序格式。我将其视为软件中的Pachinko机器。

尽管这不是分步说明,但我希望这可以帮助您指出正确的方向。


关于同步频率:更具体地说,将按照的指定上传到服务器DrivePreferencesApi上传通常会很快进行。但是,下载速度受到限制。请参阅本文档

为了避免设备和服务器上的过多负载,同步请求受到速率的限制。在这种情况下,该操作将以DRIVE_RATE_LIMIT_EXCEEDED状态失败,这表明同步已在最近发生,因此不需要再次同步。经过足够的退避时间后再次尝试,该操作将成功。

我认为“退避时间”取决于所安装的Play服务的版本。根据我的经验,持续时间从几分钟到1/2小时或更长。这可能已更改,我尝试查找有关此文档,但未成功。

如果GDAA的下载限制对您不起作用,则您可能需要考虑Drive REST。您也可以考虑使用Firebase作为可能的解决方案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用GDAA(适用于Android的Google Drive Api)创建/编辑/检索数据库文件

检查上传和下载的进度(适用于Android或Java的Google Drive API)

适用于Xamrin.Android的Google Drive ApI V3迁移

适用于Android的Google Fit API

适用于Android 5.0的Google API

适用于Android的Google Drive Web服务API-在文件夹中显示文件名

适用于其他API的Google API密钥(Android)

使用适用于Android的Google文档和Google Spreadsheet API

Android Google Play / Drive Api

适用于Google+照片的Android API

适用于Android的Google Maps的动态API KEY

适用于Android应用的Google Places API密钥

适用于Android的Google Cloud Speech API

适用于 android 的 Google 地方 api 未启用

是否有适用于 Android 的 GOOGLE DOCS API

Google 登录不适用于 Android 上的 Fitness API

断点续传(适用于Android或Java的Google Drive SDK)

如何使用httr发布多部分/相关内容(适用于Google Drive API)

使用适用于Android的Youtube的Google API Java客户端从Android服务访问YouTube数据

适用于Android的语音命令API

适用于API <11的Android invalidateOptionsMenu()

适用于Android的全球新闻API

适用于Android的IntelXDK API通知

适用于Android的googleMaps API

适用于Android的Airtable Java API

Android Drive API 资源ID

为什么Google使用适用于Android的Google API从12.0.1版本跳到15.0.0版本?

计划Android Google Drive API中的drive.appdata范围

Google Drive Android API共享问题