然而现在我从FireBase一次获取所有数据.我想做什么,一次获取LIMITS中的数据,如15条记录.就像在第一次用户从中获取15条记录Firebase时,当用户在屏幕的底部/顶部加载更多数据时,应该有15条记录来自Firebase并添加到列表的底部/ TOP.
我已经实现了逻辑,以便从数据库的顶部或底部获取15条记录,Firebase如下所示: -
public class ChatActivity extends AppCompatActivity implements FirebaseAuth.AuthStateListener {
private FirebaseAuth mAuth;
private DatabaseReference mChatRef;
private Query postQuery;
private String newestPostId;
private String oldestPostId;
private int startAt = 0;
private SwipeRefreshLayout swipeRefreshLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_chat);
mAuth = FirebaseAuth.getInstance();
mAuth.addAuthStateListener(this);
mChatRef = FirebaseDatabase.getInstance().getReference();
mChatRef = mChatRef.child("chats");
/////GETTING THE VIEW ID OF SWIPE LAYOUT
swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout);
/////GETTING FIRST 10 RECORDS …Run Code Online (Sandbox Code Playgroud) android firebase firebase-realtime-database firebase-storage
我正在尝试创建一个聊天应用程序,我使用Firebase作为我的后端,我正在使用发送的最后10条消息填充我的listview onCreate(),我只是想在用户向上滚动时^它将每次加载10个时间.
我完成了所有工作,问题是Firebase 每次都加载所有数据,而不是将现有数据增加10.
例如:它在启动时加载10条消息,当我向上滚动它加载20条消息,然后它加载30条消息,而不是一次只加载10条消息.
这是代码:
//Listview to find when user is scrolling and reach the top i.e firstVisibleItem == 0
messagesList.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView absListView, int i) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if (firstVisibleItem == 0 && !loading) {
msgNum += 10;
setMessagesList(msgNum); //your load more function
}
}
});
//Firebase to load more on scroll code:
public void setMessagesList(int msgNum) {
MessegesRef2 = database.getReference("chatsMessages").child(chatID); …Run Code Online (Sandbox Code Playgroud) 我只是想知道如何加载Twitter和Facebook应用程序的数据..
就像当你到达页面末尾时,你仍然在与UI进行交互,它显示了正在加载的更多数据.这是如何以编程方式完成的.
更清楚的是,当您到达某个点时向下滚动新闻源时,它会显示一个圆圈,表示正在加载更多数据,然后当有更多新的Feed可用时,您也可以滚动浏览它...我希望我足够清楚..我只是想知道这种情况是如何实施的..有什么例子吗?