gpt4 book ai didi

java - Android - Firebase - 保存新数据而不覆盖旧数据

转载 作者:太空宇宙 更新时间:2023-11-03 13:43:48 24 4
gpt4 key购买 nike

创建此问题是因为我之前的问题包含 2 个问题,而不是将其缩小到 1 个

瞄准

用户将能够存储新数据而不会覆盖之前提交的数据

描述

目前,当用户输入新报告时,事件报告节点中的用户事件报告数据将被覆盖。

用户发送的旧事件报告中的数据应与新数据一起保存。

这样当局将能够查看以前的报告以及新的报告数据。

问题

每次当前登录的用户保存“报告”时,报告数据将覆盖报告数据

保存数据的代码

private void submitReport(final String userReportDate,final String userReportTime,
final String userReportLocation,final String userReportDescription) {

jReportCurrentUserID = FirebaseAuth.getInstance().getCurrentUser();
final String reportUserID = jReportCurrentUserID.getUid();
jReportByUserDatabase = FirebaseDatabase.getInstance().getReference().child("Incident Reports").child(reportUserID);

HashMap<String, String> incidentReportUser = new HashMap<>();
incidentReportUser.put("date", userReportDate);
incidentReportUser.put("time", userReportTime);
incidentReportUser.put("location", userReportLocation);
incidentReportUser.put("description", userReportDescription);

jReportByUserDatabase.setValue(incidentReportUser).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful()){
jReportLoad.dismiss();
Toast.makeText(getActivity(), "Report was Sent", Toast.LENGTH_SHORT).show();
jReportDatePick.setText("");
jReportTimeEnt.setText("");
jReportLocationEnt.setText("");
jReportDescriptionEnt.setText("");
}else{
jReportLoad.dismiss();
Toast.makeText(getActivity(), "Report failed to be sent", Toast.LENGTH_SHORT).show();
}
}
});
}

最佳答案

jReportByUserDatabase.push().setValue(incidentReportUser)

这样写(push() 添加值而不是覆盖)。

关于java - Android - Firebase - 保存新数据而不覆盖旧数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46408326/

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