2017-09-27 49 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 –

相關問題