gpt4 book ai didi

android - 我如何获得亚马逊多文件上传 s3 android 的进度条

转载 作者:太空狗 更新时间:2023-10-29 14:44:57 27 4
gpt4 key购买 nike

现在我正在使用 MultipleFileUpload 方法。我怎样才能获得它的进度条。请帮帮我。

 MultipleFileUpload upload = tm.uploadFileList(
"backetname", s3_path, myDir_temp, collection_file, metadataProvider);

最佳答案

使用适用于 Android 的 AWS 开发工具包并查看 AWS 文档以获得相同信息:https://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/s3transferutility.html

使用 Transfer Utility,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
}

});

关于android - 我如何获得亚马逊多文件上传 s3 android 的进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41584628/

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