【发布时间】:2021-10-02 13:44:23
【问题描述】:
我正在开发一个 Android 应用程序,我想在其中检查 Firebase 数据库中的更改。但是,我只想监听数据库中的更改,直到进行 5 次更改。之后,我想关闭 valueEventListener。
valueEventListener = databaseReference.child(roomID).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
if(i == 5){
Log.d(TAG,"REMOVING");
databaseReference.removeEventListener(valueEventListener);
}else{
Log.d(TAG,"CALLED");
}
i++;
}
因此,在此之后,我会转到 Firebase 并手动更改这些值。对于前五次更改,“CALLED”会在日志中打印 5 次,而对于第 6 次更改,则会打印“REMOVING”。所以我想它不会再打印了,因为进一步的改变。但即使在那之后,当我更改 firebase 中的值时,它仍然会在日志中打印“CALLED”。所以我很困惑,连接是关闭了,还是仍然打开并在监听变化?
【问题讨论】:
标签: java android firebase firebase-realtime-database