1.参考资料
- Google driver 开发API :https://developers.google.com/drive/
- 说明文档:https://developers.google.com/drive/android/intro
- 官方demo下载地址:https://github.com/googledrive/android-demos
2.使用步骤
- 引入包: compile 'com.google.android.gms:play-services-drive:11.0.4'
- 创建签名文件,获取sha1值,并在Google账号中增加凭证;
- 获取sha1命令: keytool -list -v -keystore myhypenote.jks
- 根据需求使用相应的API进行文件上传,下载,备份;查看demo中,每一个处理使用方式写的很详细;
3.部分重要代码
- 上传文件
Drive.DriveApi.newDriveContents(mGoogleApiClient).setResultCallback(driveContentsCallback);
//创建 文件的回调
final private ResultCallback<DriveApi.DriveContentsResult> driveContentsCallback =
new ResultCallback<DriveApi.DriveContentsResult>() {
@Override
public void onResult(DriveApi.DriveContentsResult result) {
if (!result.getStatus().isSuccess()) {
showMessage("Error while trying to create new file contents");
return;
}
final DriveContents driveContents= result.getDriveContents();
new Thread(new Runnable() {
@Override
public void run() {
DriveFolder folder = mFolderDriveId.asDriveFolder();
Realm realm=Realm.getDefaultInstance();
File file=new File(realm.getPath());
OutputStream outputStream = driveContents.getOutputStream();
try {
InputStream input = new FileInputStream(file);
byte[] byt = new byte[input.available()];
outputStream.write(byt);
} catch (IOException e) {
e.printStackTrace();
}
MetadataChangeSet changeSet = new MetadataChangeSet.Builder()
.setTitle("default.realm")
.setMimeType("files/*")
.setStarred(true).build();
folder.createFile(mGoogleApiClient, changeSet, driveContents).setResultCallback(fileCallback);
}
}).start();
}
};
4.可能出现的问题
- 问题一: 运行demo,或者自己新建项目失败,出现无法连接情况?
- 解决方式:
- 检查是否增加账户访问权限
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
-
增加签名文件配置:
增加签名文件配置.png
5.最后!
- 对于引用第三方的服务,基本上在其官方文档都有比较完善的说明和demo,跟着其文档一步一步来,遇到问题多Google搜索下就好。对于Google driver的使用,暂时这么多,后续有深入使用再研究,欢迎交流。
网友评论