【发布时间】:2021-09-07 05:25:38
【问题描述】:
我正在创建一个 Java 应用程序,并使用 firestore 作为数据库,我打算在用户单击“加入 Btn”时将数据添加到 Firestore。所有变量都已在模型类中定义。现在的问题是当我单击加入 Btn 时,数据未存储在 Firestore 中。我不确定为什么会这样。
下面展示了模型类和addedToJoined函数。
private String eventName;
private String eventDate;
private String eventVenue;
private String eventDesc;
private String eventDocId;
private void addedToJoined(){
final HashMap<String, Object> joinedMap = new HashMap<>();
joinedMap.put("eventName", event.getEventName());
joinedMap.put("eventDate", event.getEventDate());
joinedMap.put("eventVenue", event.getEventVenue());
joinedMap.put("eventDesc", event.getEventDesc());
final HashMap<String, Object> participant = new HashMap<>();
participant.put("eventName", event.getEventName());
participant.put("participated_users_name", fAuth.getCurrentUser().getDisplayName());
fStore.collection("CurrentUser").document(fAuth.getCurrentUser().getUid())
.collection("MyFavourite").add(joinedMap).addOnCompleteListener(new OnCompleteListener<DocumentReference>() {
@Override
public void onComplete(@NonNull @NotNull Task<DocumentReference> task) {
Toast.makeText(EventDetail.this, "Event saved.", Toast.LENGTH_SHORT).show();
finish();
}
});
fStore.collection("EventDetail").document(event.getEventDocId()).collection("event").add(participant).addOnCompleteListener(new OnCompleteListener<DocumentReference>() {
@Override
public void onComplete(@NonNull @NotNull Task<DocumentReference> task) {
Toast.makeText(EventDetail.this, "Event added to record.", Toast.LENGTH_SHORT).show();
finish();
}
});
}
【问题讨论】:
-
你有没有试过看看任务不成功会发生什么?你的 onComplete 事件被触发了吗?
-
发布了答案,有用吗?
标签: android google-cloud-firestore logic