首页 > 解决方案 > 如何使用 Glide 从 Firebase 存储中显示图像

问题描述

我正在使用 android studio,我正在尝试从 firebase 获取图像。我不知道该怎么做,我整天在网上搜索。我只需要一张同名的照片;文件会改变,但名称不会。

到目前为止,我试图获取 uri 并使用 Glide,但它仍然无法正常工作。

我真的需要你的帮助或只是一个指南:

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.util.Log;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;


import com.bumptech.glide.Glide;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import com.google.firebase.storage.FirebaseStorage;
import com.google.firebase.storage.StorageReference;



public class news_watch extends AppCompatActivity {
    public ImageView IvImg;
    public TextView TvTitle;
    public TextView TvDes;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_news_watch);
        IvImg = findViewById(R.id.IvImg);
        final FirebaseDatabase database = FirebaseDatabase.getInstance();
        final StorageReference storageReference =  FirebaseStorage.getInstance().getReference("images/");;
        TvTitle = findViewById(R.id.TvTitle);
        TvDes = findViewById(R.id.TvDes);

// ImageView in your Activity
        DatabaseReference myRef = database.getReference().child("myNews");
        ValueEventListener postListener = new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {

                News post = dataSnapshot.getValue(News.class);

                TvTitle.setText("a");
                TvTitle.setText(post.getTitle());
                TvDes.setText(post.getDescription());
                TvTitle.setTextSize(40);
                TvDes.setTextSize(25);
            }
            @Override
            public void onCancelled(DatabaseError databaseError) {
                // Getting Post failed, log a message

                // ...
            }

        };
        myRef.addListenerForSingleValueEvent(postListener);
        String urlImage = storageReference.child("post.jpeg").getDownloadUrl().toString();

        Glide.with(news_watch.this)
                .load(urlImage)
                .into(IvImg);






    }
}

标签: javaandroidfirebasefirebase-storage

解决方案


推荐阅读