相关疑难解决方法(0)

如何使用Firebase将初始数据加载与增量子级分开?

我有一个应用程序,每5秒左右就会有新的孩子被添加到Firebase.我有成千上万的孩子.

在应用程序加载时,我想要处理最初的数千个,而不是每隔5秒钟处理一次的后续子节点.

您可能建议我使用值,处理所有内容,然后使用children_added.但我相信如果处理时间过长,我有可能错过一点.

有没有办法在Firebase中做到这一点,保证我不会错过任何一点?

firebase firebase-realtime-database

35
推荐指数
1
解决办法
1万
查看次数

如何丢弃Firebase数据库中的初始数据

我正在制作一个简单的应用程序,通知客户其他客户点击了一个按钮.我db使用以下方法将点击存储在Firebase()中:

db.push({msg:data});
Run Code Online (Sandbox Code Playgroud)

所有客户都会收到其他用户的点击通知on,例如

db.on('child_added',function(snapshot) { 
  var msg = snapshot.val().msg; 
});
Run Code Online (Sandbox Code Playgroud)

但是,当页面首次加载时,我想丢弃堆栈中的任何现有数据.我的策略是db.once()在定义之前调用db.on('child_added',...)以获取初始数量的子节点,然后使用它来丢弃该调用的数量db.on('child_added',...).

不幸的是,所有对db.on('child_added',...)的调用都是我能够获得初始计数之前发生的,所以它失败了.

我怎样才能有效而简单地丢弃初始数据?

firebase

14
推荐指数
2
解决办法
5739
查看次数

Firebase + Android - Notifications ChildAdded - 如何只获得新孩子?

我正在尝试在我的应用中设置Android服务,以便在Firebase Ref中侦听新的Child,并在发生这种情况时抛出通知.

我遇到了问题,因为addChildEventListener onChildAdded显然每次存在的记录都会被调用一次,然后实际上只会听新的孩子.

这个答案中, @ kato说如果addChildEventListener被调用就像ref.endAt().limit(1).addChildEventListener(...)只获得新添加的记录一样.

它实际上一次只能获得一条记录(我猜limit(1))但在收听添加的记录之前它仍然会获得一条记录.

这是一些代码:

在onCreate()中初始化监听器:

@Override
public void onCreate() {
    super.onCreate();
    this.handler = new ChildEventListener() {
        @Override
        public void onChildAdded(DataSnapshot dataSnapshot, String s) {
            AllowedGroup ag = dataSnapshot.getValue(AllowedGroup.class);

            postNotif("Group Added!", ag.getName());
        }
        ...rest of needed overrides, not used...
Run Code Online (Sandbox Code Playgroud)

我正在使用它AllowedGroup.class来存储记录,以及postNotif构建和发布通知.这部分按预期工作.

然后,onStartCommand():

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    this.f = new Firebase(FIREBASE_URL).child("users").child(this.currentUserUid).child("allowedGroups");
    f.endAt().limit(1).addChildEventListener(handler);
    return START_STICKY;
}
Run Code Online (Sandbox Code Playgroud)

在实际收听新添加的孩子之前,它仍会返回一个存在的 …

android android-service firebase

8
推荐指数
1
解决办法
3308
查看次数

有没有办法知道Child Added被称为什么情况?特别是页面加载与其他事件

这是我的情景.当通过浏览器事件帖子页面加载添加子项时,我想在标题中指出它.但是在页面加载时,也会调用添加的子项.

如何区分添加的初始子项与实际添加新条目的子项.

蒂姆,谢谢

firebase

2
推荐指数
1
解决办法
1174
查看次数