将storageReference下载到drawable

时间:2018-05-13 02:14:26

标签: android

我想将图片从Firebase存储加载到操作栏。如果我将引用加载到ImageView中,我尝试使用Glide,就像我一样。这不行,我做了一些挖掘并发现了对Glide.with(this).load(source).into(new Task)的引用{但我不知道如何解释这个,或者它是否允许我将图像设置为操作栏图标/徽标。任何意见,将不胜感激。我是android的新手。我学习了java,使用JavaFX编写桌面应用程序。这种转变需要一些调整,这真的让我很难过。我觉得他们可能是一个简单的解决方案,但我是一个新手,它正在逃避我。我已经攻击了几天,没有运气。我会以任何形式接受建议。谢谢。

1 个答案:

答案 0 :(得分:0)

发布后我立即尝试了一些新功能,并且有效。这是我使用的代码。我将其下载到一个文件中,然后从文件中创建了一个Drawable。

StorageReference image = storageReference.child(firebaseAuth.getUid())。child(“Images”)。child(“Profile_Pic”);

        try {
            final File localFile = File.createTempFile("images", "jpg");


        image.getFile(localFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
            @Override
            public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
                String pathName = localFile.getPath();
                Drawable d = Drawable.createFromPath(pathName);
                actionBar.setLogo(d);




            }
        }).addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception exception) {
                Toast.makeText(HowItWorksActivity.this, "OOPS", Toast.LENGTH_LONG).show();
            }
        });
        } catch (IOException e) {
            Toast.makeText(HowItWorksActivity.this, "Realy off", Toast.LENGTH_LONG).show();
        }StorageReference image = storageReference.child(firebaseAuth.getUid()).child("Images").child("Profile_Pic");



        try {
            final File localFile = File.createTempFile("images", "jpg");


        image.getFile(localFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
            @Override
            public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
                String pathName = localFile.getPath();
                Drawable d = Drawable.createFromPath(pathName);
                actionBar.setLogo(d);




            }
        }).addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception exception) {
                Toast.makeText(HowItWorksActivity.this, "OOPS", Toast.LENGTH_LONG).show();
            }
        });
        } catch (IOException e) {
            Toast.makeText(HowItWorksActivity.this, "Realy off", Toast.LENGTH_LONG).show();
        }