gpt4 book ai didi

java - Firestore 离线写入事件

转载 作者:行者123 更新时间:2023-12-01 19:31:14 27 4
gpt4 key购买 nike

Firestore 仅在线调用 onComplete 等事件。如何了解写入状态离线

 db.collection("col").document(id).set(obj)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
//Ok finish activity <----
finish();
} else {
Toast toast = Toast.makeText(getApplicationContext(),
"Error try again", Toast.LENGTH_SHORT);
toast.show();
}
}
});

上面的代码不能离线工作,我可以多次编写。在我连接到互联网之前,onComplete 不会被调用。我如何实现此功能(成功时关闭 Activity )。

最佳答案

onComplete will not be called until I connect to the internet.

这是正常行为。仅当数据已写入或被 Firebase 服务器拒绝时才会调用 OnCompleteListener

监听器永远不会因本地写入操作而触发。如果本地写入操作失败,客户端将引发常规异常。 Firestore 客户端设计为即使离线也能继续工作。因此,离线时向数据库写入一些数据永远不会产生错误。

Ho do I implement this feature(closing activity when success).

您无法添加完成监听器来了解数据何时写入缓存,这是因为此操作是立即发生的。在这种情况下您无需担心。

在这种情况下,您可以检查互联网连接。如果您处于离线状态,则意味着所有数据都添加到本地缓存中。

关于java - Firestore 离线写入事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59721740/

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