android - 下载 storageReference 到 drawable
问题描述
我想将图像从 Firebase 存储加载到操作栏。我尝试使用 Glide,就像我将引用加载到 ImageView 中一样。这行不通,我进行了一些挖掘并找到了对 Glide.with(this).load(source).into(new Task){ 的引用,但我不确定如何执行此操作,或者它是否允许我将图像设置为操作栏图标/徽标。任何意见,将不胜感激。我是安卓新手。我学习了 java,用 JavaFX 编写桌面应用程序。过渡已经进行了一些调整,这真的让我很难过。我觉得他们可能是一个简单的解决方案,但我是一个新手,它正在逃避我。我已经破解了几天,没有运气。我会接受任何形式的建议。谢谢你。
解决方案
发布此消息后,我立即尝试了一些新方法,并且奏效了。这是我使用的代码。我将它下载到一个文件中,然后从该文件中创建了一个 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();
}
推荐阅读
- android - 以编程方式将事件添加到日历
- json - 在使用 React Native 的某些记录后无法将值保存到 localMongoDB
- android - 如何将 android 模块用作应用程序和库
- java - How to extract the dynamic values of the id attributes of the table elements using Selenium and Java
- shopify - 关于“主题获取”命令 shopify 的问题
- gradle - 如何从 Gradle Kotlin DSL 表达式中访问项目版本?
- angular - 路由到具有不同参数的相同网址后,页面上的数据未更新
- reactjs - 如何修复反应表中的分页重置问题?
- sql - 通过调用存储过程更新表的 Null 记录会引发错误“子查询返回多个值”
- php - 如何解决这个问题“未定义的变量:类别”?