2016-09-19 62 views
2

我使用push來保存firebase數據,並自動保存自己的推送ID,現在我試圖檢索數據用於歷史,但我不能因爲該ID。這是我所如何從推動火力點數據檢索數據

mDatabase = FirebaseDatabase.getInstance().getReference(); 
     mDatabase.child(Config.MESSAGE).child(userName).addListenerForSingleValueEvent(
       new ValueEventListener() { 
        @Override 
        public void onDataChange(DataSnapshot dataSnapshot) { 
         //Getting the data from snapshot 
         Message message = dataSnapshot.getValue(Message.class); 



         for (int i = 0; i < 11; i++) { 

          message.setMessage(message.getMessage() + i); 
          message.setTitle(message.getTitle() + i); 
          message.setTime(message.getTime() + i); 

          System.out.println("we in" + message.getTitle()); 
          /******** Take Model Object in ArrayList **********/ 
          CustomListViewValuesArr.add(message); 

          Resources res =getResources(); 

          /**************** Create Custom Adapter *********/ 
          adapter=new CustomAdapter(CustomListView, CustomListViewValuesArr,res); 
          list.setAdapter(adapter); 
         } 
        } 

         @Override 
         public void onCancelled(DatabaseError databaseError) { 
          // Log.w(TAG, "getUser:onCancelled", databaseError.toException()); 
          // ... 
         } 

        }); 
       } 

,這是該數據的樣子

-KRjrOKWwCa6zmhyyhvf 
    body: "Hi how you doing" 
    time: "test" 
    title: "push" 

-KRjjiiuwCa6zmhKVsro 
    body: "Hi how you doing" 
    time: "test" 
    title: "push" 

-KRjrOef45a6zmhKbytr 
    body: "Hi how you doing" 
    time: "test" 
    title: "push" 

我不斷收到空每次

回答

2

看起來你對用戶的郵件列表。但是,您的代碼似乎將結果視爲單個消息。這是行不通的。

如果這確實發生了什麼事情,請嘗試:

public void onDataChange(DataSnapshot dataSnapshot) { 
    for (DataSnapshot messageSnapshot: dataSnapshot.getChildren()) { 
     Message message = messageSnapshot.getValue(Message.class); 

我們最近增加了一個樣本這個到Firebase documentation on querying data

+0

非常感謝,爲我工作 – henry