首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何管理firebase存储中的多个上传/下载?

如何管理firebase存储中的多个上传/下载?
EN

Stack Overflow用户
提问于 2018-08-19 10:01:26
回答 1查看 153关注 0票数 0

我目前正在做一个项目,它有一些文件上传/下载操作,并使用Firebase存储作为后端存储service.For更好的UX它需要显示上传下载的状态,如成功上传,上传失败和上传progress.but问题是在管理多个文件上传/下载

代码语言:javascript
复制
List<UploadTask> uploadTasksList;

但这并不能很好地管理operations.Is,还有其他方式可以正确地管理下载/上传。或者有没有一些我可以用来管理的库。请帮帮我!

EN

回答 1

Stack Overflow用户

发布于 2018-08-20 11:07:21

看起来Task类型的API公开了一些方便的方法,用于将其他Task的执行链接在一起:

  • continueWithTask(Continuation<TResult, Task<TContinuationResult>> continuation)

...or甚至是其他一些任意的逻辑:

  • continueWith(Continuation<TResult, TContinuationResult> continuation)

给定两个UploadTask,前者的用法可能如下所示:

代码语言:javascript
复制
final UploadTask task1 = storageReference1.putBytes(bytes1);
final UploadTask task2 = storageReference2.putBytes(bytes2);

task1.continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<UploadTask.TaskSnapshot>>() {
    @Override
    public Task<UploadTask.TaskSnapshot> then(@NonNull Task<UploadTask.TaskSnapshot> task) {
        return task2;
    }
});

...or,更简洁地使用lambda语法:

代码语言:javascript
复制
final UploadTask task1 = storageReference1.putBytes(bytes1);
final UploadTask task2 = storageReference2.putBytes(bytes2);

task1.continueWithTask(task -> task2);

如果您沿着这条路走下去,也值得花时间阅读关于Continuation类型的docs --特别是关于错误处理。

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51913867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档