我在我的Android应用程序中使用Firebase作为聊天功能.我的目标是支持:
第一部分似乎很容易.我创建了一个带限制的firebase引用.
ref = new Firebase(FIREBASE_URL).child("chat").limitToFirst(50);
Run Code Online (Sandbox Code Playgroud)
然后,该引用由添加侦听器的适配器使用.然后在数据发生变化时修改List.
ref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String previousChildName) {...}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {...}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {...}
...
Run Code Online (Sandbox Code Playgroud)
第二部分是我努力寻找正确方法的地方.当用户到达列表的末尾时,我想加载较旧的消息并将它们添加到消息列表中(无限滚动).
首选的解决方案是简单地调用类似ref.changeLimitToFirst(100)但不存在这样的方法.
用firebase解决这个问题的最佳方法是什么?
编辑:
我删除了我最初建议的解决方案,因为它们没有帮助澄清问题.相反,我将列出自我最初提出问题以来我发现的新解决方案.
如果您知道更好,更优雅的方法,请留下答案!