gpt4 book ai didi

Android Google Drive API getRequest.getMediaHttpDownloader() 始终为空。为什么?

转载 作者:行者123 更新时间:2023-11-29 00:25:21 26 4
gpt4 key购买 nike

我在下载驱动器文件时尝试使用 MediaHttpDownloaderProgressListener 更新进度条,但以下代码返回 NullPointer 异常:

  class CustomProgressListener implements MediaHttpDownloaderProgressListener {
public void progressChanged(MediaHttpDownloader downloader) {
switch (downloader.getDownloadState()) {
case MEDIA_IN_PROGRESS:
System.out.println(downloader.getProgress());
break;
case MEDIA_COMPLETE:
System.out.println("Download is complete!");
}
}
}

OutputStream out = new FileOutputStream(Environment.getExternalStorageDirectory().toString()+"/tmp/driveFile.jpg");

DriveFiles.Get request = drive.files().get(fileId);
request.getMediaHttpDownloader().setProgressListener(new CustomProgressListener());
request.download(out);

异常总是在这一行:

request.getMediaHttpDownloader().setProgressListener(new CustomProgressListener());

因为“request.getMediaHttpDownloader()”为 null,但请求正常(我测试过)。

你能帮帮我吗?

最佳答案

使用此代码解决:

private static void downloadFile(boolean useDirectDownload, File uploadedFile)
throws IOException {
// create parent directory (if necessary)
java.io.File parentDir = new java.io.File(DIR_FOR_DOWNLOADS);
if (!parentDir.exists() && !parentDir.mkdirs()) {
throw new IOException("Unable to create parent directory");
}
OutputStream out = new FileOutputStream(new java.io.File(parentDir, uploadedFile.getTitle()));

MediaHttpDownloader downloader =
new MediaHttpDownloader(httpTransport, drive.getRequestFactory().getInitializer());
downloader.setDirectDownloadEnabled(useDirectDownload);
downloader.setProgressListener(new FileDownloadProgressListener());
downloader.download(new GenericUrl(uploadedFile.getDownloadUrl()), out);
}

关于Android Google Drive API getRequest.getMediaHttpDownloader() 始终为空。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20021815/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com