我开发了一个应用程序,其中有一个从 Amazon s3 服务器下载文件的 ASyncTask。由于相关文件非常大,我需要在下载发生时显示一个进度条,并且当它不断旋转并刺激用户时,螺旋进度条在这里看起来不太好。我需要使用一个水平样式的进度条,我需要知道要下载的文件的大小。在从 amazon s3 下载文件之前,有人知道有什么方法可以知道文件大小吗?
这是我使用的下载代码..
@Override
protected Void doInBackground(Void... params) {
TransferManager manager = new TransferManager(access);
File file = new File(Environment.getExternalStorageDirectory()+"/Downloads", downFile);
fileDownloaded = "/Downloads/"+ downFile;
file.setWritable(true);
Download down = manager.download("files", fileToDown, file );
try {
down.waitForCompletion();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
'downFile' 是我将其保存在外部目录中的文件位置。'fileToDown' 是服务器上要下载的文件路径。'/Downloads/' 是我为在设备上存储文件而创建的新目录。