Java Android上处理Firebase DatabaseReference updateChildren OnCompletionListener的正确方法
我正在使用Firebase数据库,希望脱机持久性也能正常工作。我已经看到,在脱机模式下调用Java Android上处理Firebase DatabaseReference updateChildren OnCompletionListener的正确方法,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我正在使用Firebase数据库,希望脱机持久性也能正常工作。我已经看到,在脱机模式下调用DatabaseReference.updateChildren时,值侦听器回调会立即触发,而OnCompletionListener仅在网络恢复时触发。这是正确的理解吗?如果是这样,那么在OnCompletionListener成功或失败的情况下,客户机应该做什么 具体地- 如果OnCompletionListener失败,是否在本地回滚更改,并使用回滚值触发所有值侦听器回调 在什么情况下OnComple
DatabaseReference.updateChildren
时,值侦听器回调会立即触发,而OnCompletionListener
仅在网络恢复时触发。这是正确的理解吗?如果是这样,那么在OnCompletionListener成功或失败的情况下,客户机应该做什么
具体地-
onComplete()
也不会触发onFailure()
。这种行为是有意义的,因为只有在Firebase服务器上提交(或拒绝)数据时,才会认为任务已完成
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
onComplete()
也不会触发onFailure()
。这种行为是有意义的,因为只有在Firebase服务器上提交(或拒绝)数据时,才会认为任务已完成
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
1.但是本地不会有任何规则或权限检查(当没有网络时),其他侦听器将看到更新的值,该值稍后将被服务器拒绝。所以本地提交需要回滚,还是我遗漏了什么?3.那么,这仅仅是为了处理失败?成功的状态可能已经对其他侦听器可见。1。只有当您脱机、联机更改安全规则,然后仅返回时,才会发生这种情况。是,在这种情况下,Firebase服务器将拒绝更新操作。权限不足的所有操作将不会执行。3.是的,一切都好吗?我能帮你提供其他信息吗?只是等着看其他人是否有什么要补充的。我会在一两天内接受答案:)好的,没关系。干杯1.但是本地不会有任何规则或权限检查(当没有网络时),其他侦听器将看到更新的值,该值稍后将被服务器拒绝。所以本地提交需要回滚,还是我遗漏了什么?3.那么,这仅仅是为了处理失败?成功的状态可能已经对其他侦听器可见。1。只有当您脱机、联机更改安全规则,然后仅返回时,才会发生这种情况。是,在这种情况下,Firebase服务器将拒绝更新操作。权限不足的所有操作将不会执行。3.是的,一切都好吗?我能帮你提供其他信息吗?只是等着看其他人是否有什么要补充的。我会在一两天内接受答案:)好的,没关系。干杯