2016-11-15 50 views
0

我正在使用Firebase實時數據庫創建聊天應用程序。是否可以在Firebase上加載特定數量的數據?

我做了

public class MessageAdapter extends BaseAdapter implements ChildEventListener{ 
    ... 
    @Override 
    public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
    Message msg = dataSnapshot.getValue(Message.class); 
    this.addItem(msg); 
    this.notifyDataSetChanged(); 
    } 
    ... 
} 

MessageAdapter刷新我Listview當數據被添加到火力地堡。每當我開始應用

@Override 
public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
    Message msg = dataSnapshot.getValue(Message.class); 
    this.addItem(msg); 
    this.notifyDataSetChanged(); 
} 

onChildAdded方法被調用。我想在用戶啓動應用程序後加載消息。它加載存儲在我的Firebase實時數據庫中的每條消息。

有沒有辦法在用戶啓動應用程序後只加載新消息?此外,我想讓它載入特定數量的消息,就像我將數字設置爲5時一樣,當用戶啓動從Firebase數據庫加載的應用程序時,只會存儲5條消息。

回答

1

好的,所以這裏有幾個問題,首先是讓應用程序在查詢數據庫之前等待。爲此,我建議在使用處理程序加載數據的同時暫停該線程幾秒鐘。

handler1.postDelayed(new Runnable() { 

    @Override 
    public void run() { 
     // Your Database Reference Listener 
    } 
}, 1000); 

還聽取只能從火力幾隻是改變監聽器,如下

yourDatabaseReferance.limitToFirst(10).addChildEventListener(new ChildEventListener() 
+0

謝謝!它的工作greeat – MWP

+0

如果我喜歡yourDatabaseReferance.limitToFirst(10).addChildEventListener(this)它不會加載任何更多後初始化..我怎麼能限制10消息,然後添加? – MWP

+0

哦,我的壞,我用limitToLast(10) – MWP

相關問題