首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自Firebase的getBytes storageReference无法工作

来自Firebase的getBytes storageReference无法工作
EN

Stack Overflow用户
提问于 2018-10-10 15:14:30
回答 1查看 1.5K关注 0票数 2

我正在创建我的第一个应用程序,其中我想下载图片从Firebase存储到位图,然后反过来改变手机的壁纸。

目前,该函数也没有进入。

代码语言:javascript
复制
 onSuccess(byte[] bytes) {

或转到

代码语言:javascript
复制
 onFailure(@NonNull Exception exception) {

相反,它跳过了

代码语言:javascript
复制
return bmp[0]; 

我不明白为什么,我做错了什么。

  • 存储和storageRef不是空的。 公共静态位图getImageBitmap(String ){ com.google.firebase.storage.FirebaseStorage存储=com.google.firebase.storage.FirebaseStorage StorageReference gsReference = storage.getReferenceFromUrl( url);if (bmp == null) { bmp =新Bitmap1;}com.google.firebase.storage.FirebaseStorage ONE_MEGABYTE = 1024 * 1024;gsReference.getBytes(ONE_MEGABYTE) .addOnSuccessListener(新的OnSuccessListener()){@覆盖公共void (byte[]字节){ BitmapFactory.Options options = new BitmapFactory.Options();options.inMutable = true;bmp =BitmapFactory.decodeByteArray(字节,0,bytes.length,options);}).addOnFailureListener(新的OnFailureListener() {@重写公共空异常){ int errorCode = ((StorageException) exception).getErrorCode();String errorMessage = exception.getMessage();Log.d("TAG",errorMessage + errorCode);});返回bmp};

在我的尝试中,我尝试以以下方式使用Glide:

代码语言:javascript
复制
Glide.with(user.getmContext())
            .asBitmap()
            .load(url)
            .into(new SimpleTarget<Bitmap>() {
                @Override
                public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
                    bmp[0] = resource;
                }
            });
    return bmp[0];

但这并没有产生任何变化,onResourceReady (位图资源)从未被调用过。

EN

回答 1

Stack Overflow用户

发布于 2019-04-20 09:01:40

你需要等待你的结果。获取字节方法是异步的,这就是为什么要添加侦听器,并且在异步任务完成后将设置值

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

https://stackoverflow.com/questions/52743497

复制
相关文章

相似问题

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