Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取amazon多文件上传s3 android的进度条_Android_Amazon Web Services_Amazon S3_Progress Bar_Multiple File Upload - Fatal编程技术网

如何获取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文档的要求去做,你会发现你必须调用监听器,它也应该可以工作。它只被调用了一次。所以只有我们得到了启动状态。。