[英]Firebase Storage and Image View
I want to get image from Firebase Storage and than show at Image View.我想从 Firebase 存储中获取图像,而不是在图像视图中显示。 I trying this code but not working.
我正在尝试此代码但不起作用。 Always I getting my "ERROR" toast message.
我总是收到“错误”吐司消息。 App is opening but I dont see my JPEG.
应用程序正在打开,但我没有看到我的 JPEG。
** I found one way but it is not enough for me. ** 我找到了一种方法,但这对我来说还不够。
If I delete 'com.google.firebase:firebase-auth:19.3.2' from build gradle, this code working.如果我从构建 gradle 中删除 'com.google.firebase:firebase-auth:19.3.2' ,则此代码有效。 I need FirebaseAuth because I have User login and logout page.
我需要 FirebaseAuth,因为我有用户登录和注销页面。 Do you know another way for Firebase storage and image ?
您知道 Firebase 存储和图像的另一种方式吗?
Thank you for help.谢谢你的帮助。
enter image description here在此处输入图片说明
private StorageReference mStorageReference;
ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_vardiya);
mStorageReference=FirebaseStorage.getInstance().getReference().child("vardiyaandroid.jpeg");
final File localfile;
try {
localfile = File.createTempFile("vardiyaandroid","jpeg");
mStorageReference.getFile(localfile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
@Override
public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
Toast.makeText(vardiya.this,"Resim Hazır",Toast.LENGTH_LONG).show();
Bitmap bitmap = BitmapFactory.decodeFile(localfile.getAbsolutePath());
(imageView=findViewById(R.id.imageView)).setImageBitmap(bitmap);
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(vardiya.this,"ERROR",Toast.LENGTH_LONG).show();
}
});
} catch (IOException e) {
e.printStackTrace();
}
I found my false.我发现我的假的。
You will change this code您将更改此代码
mStorageReference=FirebaseStorage.getInstance().getReference().child("vardiyaandroid.jpeg"); mStorageReference=FirebaseStorage.getInstance().getReference().child("vardiyaandroid.jpeg");
with和
mStorageReference=FirebaseStorage.getInstance().getReferenceFromUrl("gs://YOURAPPID.appspot.com/vardiyaandroid.jpeg"); mStorageReference=FirebaseStorage.getInstance().getReferenceFromUrl("gs://YOURAPPID.appspot.com/vardiyaandroid.jpeg"); StorageReference pathreferance =mStorageReference.child("vardiyaandroid.jpeg");
StorageReference pathreferance =mStorageReference.child("vardiyaandroid.jpeg");
and the storege rules must be this:
rules_version = '2';
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read, writ, auth: if true;
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.