java - 如何使用 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);
}
}
解决方案
推荐阅读
- python-3.x - 如何使用 pipe() 和 apply() 根据条件更新数据框列
- javascript - 在 for 循环中将布尔值评估为真或假
- vega-lite - 如何根据条件更改 vega-lite 中的线条描边颜色
- javascript - 使用 php 和 javascript 重新加载页面
- javascript - 使用 d3.js 和表单数据数组生成一个简单的条形图
- react-native - 用点反应原生填充视图或文本
- javascript - 来自 api 的反应图像标题错误可能与正确的索引有关
- javascript - 一个一个地保存文档并将它们的_id保存到数组Mongoose
- python - PyTorch - AttributeError:“布尔”对象没有属性“总和”
- r - 如何绘制选定列的相关图