我正在使用android studio。如果签入日期与系统日期相同,我想更改“房间”孩子的“签入”。我已经从系统获取日期了。但是代码如何。自动更改“房间”孩子的“签到”。预订儿童时的“签到”与系统日期相同...
答案 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中的列表的更多信息