gpt4 book ai didi

java - 在 Android 上处理 Firebase DatabaseReference updateChildren OnCompletionListener 的正确方法

转载 作者:行者123 更新时间:2023-12-02 02:09:08 25 4
gpt4 key购买 nike

我正在使用 Firebase 数据库,并且希望脱机持久性也能正常工作。我发现,在离线模式下调用DatabaseReference.updateChildren时,会立即触发值监听器回调,而OnCompletionListener仅在网络恢复时才会触发。这是正确的理解吗?如果是这样,如果 OnCompletionListener 成功或失败,客户端应该做什么。

具体来说 -

  1. 如果 OnCompletionListener 失败,是否会在本地回滚更改并使用回滚的值触发所有值监听器回调?

  2. 什么情况下OnCompletionListener会返回失败?是否有案件需要重审?

  3. 监听 OnCompletionListener 的成功而不是 ValueChangeListener 中的回调的典型用例是什么?

最佳答案

Is that the correct understanding?

是的,确实如此。

当网络连接丢失(用户设备上没有网络连接)时,onComplete()onFailure() 都不会被触发。这种行为是有道理的,因为只有当数据在 Firebase 服务器上提交(或拒绝)时,任务才被视为已完成。

  1. 没有回滚,因为当数据更新时,它首先写入数据库的本地版本,显然当使用以下代码行启用持久性时:

    FirebaseDatabase.getInstance().setPersistenceEnabled(true);
  2. 当 Firebase 服务器因 Firebase 安全规则导致权限不足而拒绝更新时。

  3. 这是典型的用例,用于监听 OnCompletionListener 的成功。

关于java - 在 Android 上处理 Firebase DatabaseReference updateChildren OnCompletionListener 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50291875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com