如何使用Glide从Firebase存储中显示图像

时间:2020-02-03 20:23:03

标签: java android firebase firebase-storage

我正在使用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);






    }
}

0 个答案:

没有答案