2017-09-27 46 views
0

现在我从它的名字火力下载图像..获取图像的名称在火力存储

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); 
       } 

是否有可能获取存储在存储火力图像的所有名称到一个列表。

回答

0

不,你不能。你可以做inseatd什么是建立在你的火力地堡的数据库名为imageNames每次图像添加到火力地堡商店一个新的部分,并添加到像这样的新节点下coresponding形象的名字:

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); 
+0

可以请你给我一个例子,如何从datasnapshot @Alex马莫 –

+0

是得到了名字。请看我更新的答案。 –

+0

感谢bro @Alex Mamo –

相关问题