出门莫恨无人随,书中车马多如簇。这篇文章主要讲述继续在Android上使用旧的Google云端硬盘API相关的知识,希望能为你提供帮助。
我有一个现有的应用程序,我很遗憾没有时间在很长一段时间内更新它。我现在正在尝试做一些工作,但它不会编译。
它最初是一个Eclipse项目,所以我现在将它导入android Studio,我的build.gradle具有以下内容:
dependencies {
/*compile 'com.google.android.gms:play-services-ads:7.0.0'
compile 'com.google.android.gms:play-services-drive:7.0.0'
compile 'com.google.android.gms:play-services-identity:7.0.0'*/
compile fileTree(dir: 'libs', include: ['*.jar'])
compile files('libs/android-support-v4.jar')
compile files('libs/commons-codec-1.4-javadoc.jar')
compile files('libs/commons-codec-1.4-sources.jar')
compile files('libs/commons-codec-1.4.jar')
compile 'com.android.support:appcompat-v7:21.0.0'
compile 'com.android.support:support-v4:21.0.0'
compile 'com.BoardiesITSolutions:CritiMon:1.0'
compile 'com.BoardiesITSolutions:Library:1.1'
compile 'com.google.android.gms:play-services:4.1.+'
compile('com.google.api-client:google-api-client-xml:1.17.0-rc') {
exclude group: 'com.google.android.google-play-services'
}
compile 'com.google.http-client:google-http-client-gson:1.17.0-rc'
compile('com.google.api-client:google-api-client-android:1.17.0-rc') {
exclude group: 'com.google.android.google-play-services'
}
compile 'com.google.apis:google-api-services-drive:v2+'
}
我试图将它指向旧版本的Google Play服务,下面的代码位于最初的工作状态,但现在已经不再适用了。
Drive service = getDriveService(credential);
String fileId = null;
FileList file = service.files().list().execute();
问题是
services.files()
无法解决。我假设这是因为Drive API正在更新,所以有一种方法可以使用支持上述代码的先前版本。
【继续在Android上使用旧的Google云端硬盘API】目前我没有时间更新Drive API,但我需要修复某人报告的错误。
更新我发现以下https://developers.google.com/drive/web/migration页面说除了文件id的变量名之外没有任何真正的变化但是一切都是一样的所以我不明白为什么service.files()函数不会找到。
答案要将注释(esp @kroikie)合并到一个答案中,您已经混淆了用于REST API的Java库(可以在Java / Android上运行,并由com.google.api.services.drive.Drive表示)与Google混淆了适用于Android的Drive API(“GDAA” - 只需读取和写入Android上的云端硬盘存储空间,即可让Android云端硬盘应用进行同步,并由com.google.android.gms.drive.Drive代表)。
这个家伙The method permissions() is undefined for the type Drive做了同样的事情,这表明谷歌文档没有说清楚有两种不同的方式可以实现Android-Drive集成。我已经看到人们将REST API称为“旧api”,这是一个完全用词不当,并且表明有些人已经得出错误的结论,GDAA取代了REST API,而它肯定没有。
所以在你的情况下,从你的应用程序中删除
com.google.android.gms.*
,你会没事的。推荐阅读
- 列出来自Google云端硬盘的文件,并获取Android中所选文件的downloadUrl
- Jackson XML Mapper为列表编写两次元素名称
- JAXB ClassNotFoundException使用Java 11构建Spring Boot App 2.2.0
- Android - 在寻呼机中获取片段的上下文
- Android rtl viewpager with rtl tablayout
- Android Exoplayer,在屏幕旋转时恢复视频
- 如何在你的Cordova Android应用中添加对Samsung Multi Window和PopUp模式的支持
- 8个最佳的Magento扩展程序,将促进你的在线业务
- Cordova中的Android错误(请安装Android目标:” android-x”)