如何使用Android Studio在Firebase上自动为孩子上火

时间:2019-04-07 07:22:34

标签: android firebase

我正在使用android studio。如果签入日期与系统日期相同,我想更改“房间”孩子的“签入”。我已经从系统获取日期了。但是代码如何。自动更改“房间”孩子的“签到”。预订儿童时的“签到”与系统日期相同...

this is my structure on firebase

1 个答案:

答案 0 :(得分:0)

您可以使用childEventListener在Firebase数据库中获取节点的所有子节点,childEventListener将在附加到数据库引用的第一时间触发,并在添加,更改参考节点的子节点时再次触发,已删除,...根据您的情况,假设您已经使用这些属性定义了Room类,则可以为数据库添加侦听器,如下所示:

String systemTime = "HH-MM-SS"; //your system time
DatabaseReference root = FirebaseDatabase.getInstance().getReference();

ChildEventListener childEventListener = new ChildEventListener() {
    @Override
    public void onChildAdded(DataSnapshot dataSnapshot, String previousChildName) {
        Room room = dataSnapshot.getValue(Room.class);
        if(room.checkin.equals(systemTime))
        {
            //do something with the room
            //then new value back
            dataSnapshot.getRef().setValue(room);
        }
    }

    @Override
    public void onChildChanged(DataSnapshot dataSnapshot, String previousChildName) {

    }

    @Override
    public void onChildRemoved(DataSnapshot dataSnapshot) {

    }

    @Override
    public void onChildMoved(DataSnapshot dataSnapshot, String previousChildName) {

    }

    @Override
    public void onCancelled(DatabaseError databaseError) {

    }
};
root.child("booking").addChildEventListener(childEventListener);

访问此链接可获取有关使用Firebase数据库https://firebase.google.com/docs/database/android/lists-of-data中的列表的更多信息