如何获取amazon多文件上传s3 android的进度条
现在我正在使用多重加载方法。我怎样才能获得进度条。请帮助我如何获取amazon多文件上传s3 android的进度条,android,amazon-web-services,amazon-s3,progress-bar,multiple-file-upload,Android,Amazon Web Services,Amazon S3,Progress Bar,Multiple File Upload,现在我正在使用多重加载方法。我怎样才能获得进度条。请帮助我 MultipleFileUpload upload = tm.uploadFileList( "backetname", s3_path, myDir_temp, collection_file, metadataProvider); 使用适用于Android的AWS SDK,并检查AWS文档中的相同内容: 使用Transfer实用程序,download()和upload()方法返回TransferObser
MultipleFileUpload upload = tm.uploadFileList(
"backetname", s3_path, myDir_temp, collection_file, metadataProvider);
使用适用于Android的AWS SDK,并检查AWS文档中的相同内容: 使用Transfer实用程序,download()和upload()方法返回TransferObserver对象。此对象允许访问: 状态(现在指定为枚举) 到目前为止传输的总字节数 要传输的总字节数(用于轻松计算进度条) 可用于跟踪不同传输的唯一ID 给定传输ID,可以从应用程序中的任何位置检索此TransferObserver对象,包括应用程序是否被终止。它还允许您创建TransferListener,它将在状态或进度更改以及发生错误时更新 要获取下载或上载的进度,请在TransferObserver上调用setTransferListener()。这要求您实现onStateChanged、onProgressChanged和onError。例如:
TransferObserver transferObserver = download(MY_BUCKET, OBJECT_KEY, MY_FILE);
transferObserver.setTransferListener(new TransferListener(){
@Override
public void onStateChanged(int id, TransferState state) {
// do something
}
@Override
public void onProgressChanged(int id, long bytesCurrent, long bytesTotal) {
int percentage = (int) (bytesCurrent/bytesTotal * 100);
//Display percentage transfered to user
}
@Override
public void onError(int id, Exception ex) {
// do something
}
});
这是一个单文件上传。正确吗。我需要多个文件上传进度条。我提到了有问题的上传方法。如果你按照AWS文档的要求去做,你会发现你必须调用监听器,它也应该可以工作。它只被调用了一次。所以只有我们得到了启动状态。。