2

我正在开发一个管理面板来获取用户关于食品订单的请求,所以我想在有新订单时收到通知。所以问题是有没有办法观察数据库的变化,如果有,发出通知(Snackbar)

4

2 回答 2

1

您可以使用value事件监听更改。阅读更多详细信息:https ://firebase.google.com/docs/database/web/read-and-write#listen_for_value_events

于 2019-06-12T06:21:12.603 回答
1

一旦数据库更新,valueeventlistner 将再次将所有节点再次带入。要仅带来最后添加的节点,请使用下面。

Firebase ref = new Firebase("YOUR-URL-HERE/PATH/TO/YOUR/STUFF");

ref.addChildEventListener(new ChildEventListener() {
    public void onChildAdded(DataSnapshot dataSnapshot, String previousKey) {
    }
    public void onChildChanged(DataSnapshot dataSnapshot, String s) {
    }
    public void onChildRemoved(DataSnapshot dataSnapshot) {
    }
    public void onChildMoved(DataSnapshot dataSnapshot, String s) {
    }
    public void onCancelled(FirebaseError firebaseError) { }
});

onChildAdded() 将仅针对每个新的食品订单被撤销。您也可以使用其他方法,这将为您提供良好的灵活性。即使订单被删除,您也可以通过 onChildRemoved() 获取它。

于 2019-06-12T06:24:40.327 回答