如何将 Glide 与 Firebase 数据库一起使用?
How can I use Glide with Firebase Database?
我对 Glide 有疑问。我想使用 Glide 下载图像。当我使用 link 时,它是这样工作的;
Glide.with(activity.this).load(pics direct url).into(imageview);
但是当我使用 Firebase 数据库时,它不是这样工作的;
FirebaseDatabase firebasedatabase = FirebaseDatabase().getInstance().getReference(“name of database”).child(id).child(“imageUrl”);
Glide.with(activity.this).load(firebasedatabase).into(imageview);
哪里错了?我该如何解决?非常感谢大家!
您的问题是以下行 returns FirebaseDatabase 不是字符串:
FirebaseDatabase firebasedatabase = FirebaseDatabase().getInstance().getReference(“name of database”).child(id).child(“imageUrl”);
你需要在获取字符串值时监听它,然后像这样添加滑行:
firebasedatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
String imageUrl = dataSnapshot.getValue(String.class);
Glide.with(activity.this).load(imageUrl).into(imageview);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
})
您正在加载中使用 'firebasedatabase' 对象而不是 URL。
在加载中,我们输入 url。
DatabaseReference myref2 = FirebaseDatabase.getInstance().getReference("Yourself").child(userid).child(s);
myref2.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String image = dataSnapshot.child("image").getValue(String.class);
Glide.with(getContext()).load(image).into(ImageView)
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
我对 Glide 有疑问。我想使用 Glide 下载图像。当我使用 link 时,它是这样工作的;
Glide.with(activity.this).load(pics direct url).into(imageview);
但是当我使用 Firebase 数据库时,它不是这样工作的;
FirebaseDatabase firebasedatabase = FirebaseDatabase().getInstance().getReference(“name of database”).child(id).child(“imageUrl”);
Glide.with(activity.this).load(firebasedatabase).into(imageview);
哪里错了?我该如何解决?非常感谢大家!
您的问题是以下行 returns FirebaseDatabase 不是字符串:
FirebaseDatabase firebasedatabase = FirebaseDatabase().getInstance().getReference(“name of database”).child(id).child(“imageUrl”);
你需要在获取字符串值时监听它,然后像这样添加滑行:
firebasedatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
String imageUrl = dataSnapshot.getValue(String.class);
Glide.with(activity.this).load(imageUrl).into(imageview);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
})
您正在加载中使用 'firebasedatabase' 对象而不是 URL。 在加载中,我们输入 url。
DatabaseReference myref2 = FirebaseDatabase.getInstance().getReference("Yourself").child(userid).child(s);
myref2.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String image = dataSnapshot.child("image").getValue(String.class);
Glide.with(getContext()).load(image).into(ImageView)
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});