现在我正在通过名字从firebase下载图片。
storageRef.child("NAME OF your IMAGE").getBytes(Long.MAX_VALUE).addOnSuccessListener(new OnSuccessListener<byte[]>() {
@Override
public void onSuccess(byte[] bytes) {
// Use the bytes to display the image
Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
imageView.setImageBitmap(bitmap);
}
是否可以将存储在firebase存储中的图像的所有名称都列入列表。
答案 0 :(得分:1)
imageNames
的新部分,每次你向Firebase存储添加一个图像时,在这个新节点下添加相应的图像名称,如下所示:
Firebase-root
|
--- imageNames
|
--- imageId1: ImaneName1
|
--- imageId2: ImaneName2
要获取所有这些名称,只需在此imageNames
节点上附加一个侦听器,并从dataSnapshot
对象中获取所有这些名称,如下所示:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference imageNamesRef = rootRef.child("imageNames");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String imageName = ds.getValue(String.class);
Log.d("TAG", imageName);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
imageNamesRef.addListenerForSingleValueEvent(eventListener);