Android系统。如何从Firebase下载图像并将其设置为背景

时间:2018-01-03 07:43:20

标签: android firebase firebase-storage

我最近熟悉了Firebase。

任务:从Firebase存储库下载图像并将其设置为背景图像。

我设法下载了图片。我用这段代码做到了这一点:

        FirebaseStorage storage = FirebaseStorage.getInstance();

        StorageReference storageRef = storage.getReferenceFromUrl("gs://my bucket name");

        StorageReference pathReference = storageRef.child("image/20170703_142533.jpg");

        File localFile = null;
        try {
            localFile = File.createTempFile("images", "jpg");
        } catch (IOException e) {
            e.printStackTrace();
        }

        pathReference.getFile(localFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
            @Override
            public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) 
            {
                Log.d("TAG_LOG", "Downloaded"); 
            }
        }).addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception exception) 
            {
                Log.d("TAG_LOG", "Error"); 
            }
        });

从日志写成Downloaded开始,我知道一切正常。

下载此文件的位置以及如何将其安装为背景图片我不明白。

如果您发现错误,请注意我的错误,英语不是我的国家语言。我希望我写得可以理解。我指望你的帮助。

1 个答案:

答案 0 :(得分:0)

  

createTempFile(String prefix, String suffix)使用,在默认临时文件目录中创建一个空文件   给定的前缀和后缀以生成其名称。

如果要将文件存储在app目录中 -

File dir = new File(Environment.getExternalStorageDirectory(), "dir_name");
// Create dir if not exists
if(!dir.exists()) dir.mkdirs();

File mFile = new File(dir, "file_name");

现在,使用此mFile作为要下载文件的位置...

pathReference.getFile(mFile).addOnSuccessListener{ ... }

由于你有文件的位置,你可以做你想要的...... 设置为背景