我有以下代码应该将图像从我的 android 设备上传到我的谷歌驱动器。
private void saveFileToDrive() {
progressDialog = ProgressDialog.show(this, "", "Loading...");
Thread t = new Thread(new Runnable() {
@Override
public void run() {
try {
// File's binary content
java.io.File fileContent = new java.io.File(fileUri.getPath());
FileContent mediaContent = new FileContent("image/jpeg", fileContent);
// File's metadata.
File body = new File();
body.setTitle(fileContent.getName());
body.setMimeType("image/jpeg");
File file = service.files().insert(body, mediaContent).execute();
if (file != null) {
showToast("Photo uploaded: " + file.getTitle());
progressDialog.dismiss();
//startCameraIntent();
}
} catch (UserRecoverableAuthIOException e) {
startActivityForResult(e.getIntent(), REQUEST_AUTHORIZATION);
} catch (IOException e) {
e.printStackTrace();
}
}
});
t.start();
}
问题是上传时间太长。这很奇怪,因为图像不太大
我想如果我通过原始 Drive App 上传它,它会做得更快。
1)有没有办法让上传速度更快,同时又不损害图像质量?
2)我想使用回调,但新线程和回调的最佳做法是什么?
3)如何显示上传当前数字上传进度(到目前为止已完成 X%)
有没有现成的签名\模式可以使用?