Firebase从服务器更改数据,在Android上收听

时间:2016-06-01 23:58:46

标签: android node.js firebase firebase-realtime-database

我在玩Firebase。使用node.js更新服务器中的数据:

var db = firebase.database()
var ref = db.ref("game")
ref.update({
    "state": "state",
    "counter": counter
})

Firebase控制台中的数据更新没有问题,但在Android中,我无法检索任何更改。我想听“游戏”节点的变化,但没有运气。

DatabaseReference database = FirebaseDatabase.getInstance().getReference();
DatabaseReference ref = database.child("game");

ref.addChildEventListener(new ChildEventListener() {
    @Override
    public void onChildAdded(DataSnapshot dataSnapshot, String s) {
        Log("1");
    }

    @Override
    public void onChildChanged(DataSnapshot dataSnapshot, String s) {
        Log("2");
    }

    @Override
    public void onChildRemoved(DataSnapshot dataSnapshot) {
        Log("3");
    }

    @Override
    public void onChildMoved(DataSnapshot dataSnapshot, String s) {
        Log("4");
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        Log("5");
    }
});

控制台中没有登录。

此外,ValueEventListener我还没有看到任何变化或错误:

DatabaseReference ref = database.child("game");

ref.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        Log("1");
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        Log("2");
    }
});

我显然做错了什么。如何在FireBase中监听数据更改?

1 个答案:

答案 0 :(得分:2)

我解决了#39;通过用户重新登录的问题。我想这是一个错误。

相关:Firebase single value event listener doesn't return