我最近熟悉了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
开始,我知道一切正常。
但下载此文件的位置以及如何将其安装为背景图片我不明白。
如果您发现错误,请注意我的错误,英语不是我的国家语言。我希望我写得可以理解。我指望你的帮助。
答案 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{ ... }
由于你有文件的位置,你可以做你想要的...... 设置为背景。