gpt4 book ai didi

android - 查询添加文档但未在控制台上添加,也未调用监听器

转载 作者:行者123 更新时间:2023-11-29 19:00:49 25 4
gpt4 key购买 nike

好的,我在使用 firestore 时遇到了一个奇怪的问题

我有以下结构collection1 -> document1->collection2

我正在向 collection2 添加一个新文档,并带有完整的监听器(我也尝试了成功监听器)。没有显示错误。新文档未显示在控制台上。没有调用监听器。但是,当我查询时,我得到了所有添加的文档,包括新文档。这是怎么回事?

Map<String, Object> data = new HashMap<>();
data.put("completed", true;
data.put("date_completed", new Date());
data.put("location", "123 main st");
data.put("notes", "");
data.put("work", "");

db.collection("collection1").document(document1).collection("collection2")
.add(data)
.addOnCompleteListener(new OnCompleteListener<DocumentReference>() {

@Override
public void onComplete(@NonNull Task<DocumentReference> task) {
if (task.isSuccessful()) {
DocumentReference documentReference = task.getResult();
Log.d(TAG, "DocumentSnapshot written with ID: " + documentReference.getId());
det.setDocId(documentReference.getId());
addr_arr.add(det);
} else {
Log.w(TAG, "Error adding document", task.getException());
Toast.makeText(EditListActivity.this, "Failed operation - " + task.getException().getMessage(),
Toast.LENGTH_SHORT).show();
hideProgressDialog();
}
}
});

这是我做的查询

CollectionReference collecRef = db.collection("collection1").document(document1).collection("collection2");
collecRef.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {

for (DocumentSnapshot document : task.getResult()) {
// here I do document.get on all the fields, add them to object and add object to array
}

adapter.notifyDataSetChanged();

} else {
Log.d(TAG, "get failed with ", task.getException());
Toast.makeText(EditListActivity.this, "Failed operation - " + task.getException(),
Toast.LENGTH_SHORT).show();
hideProgressDialog();
}
}
});

最佳答案

您的应用表现得好像处于离线状态或不知何故缺少有效的互联网连接。

当没有网络连接时,Firestore SDK 不会写入失败。它会将写入存储在本地,并最终将其同步到服务器。同时,本地写入成为任何查询的一部分,就像数据在服务器上可用一样。所以您看到的可能是本地写入的结果。

(这与您在实时数据库中看到的行为相同。)

至于为什么 Firestore SDK 没有连接,我不知道。您可能需要自己解决这个问题。

关于android - 查询添加文档但未在控制台上添加,也未调用监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49123435/

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