为了账号安全,请及时绑定邮箱和手机立即绑定

我正在向 Firestore 数据库输入值,但它们没有进入正确的字段

我正在向 Firestore 数据库输入值,但它们没有进入正确的字段

PIPIONE 2021-10-13 12:50:54
目前,我正在扫描 QR 码,然后在 Cloud Firestore 中更新我的出勤收集。它没有将它们放在正确的位置,我使用的是 type 的模型类Attendance。这是我的代码: final FirebaseFirestore rootRef = FirebaseFirestore.getInstance();                        final DocumentReference docRef = rootRef.collection("Session").document(rawValue);                        docRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {                            @Override                            public void onComplete(@NonNull Task<DocumentSnapshot> task) {                                if (task.isSuccessful()){                                    DocumentSnapshot document = task.getResult();                                    if (document.exists()) {                                        Date timeToCheck = calendar.getTime();                                        Session session = document.toObject(Session.class);                                        Date startTime = session.getStartTime();                                        Date endTime = session.getEndTime();                                        if (timeToCheck.after(startTime) && (timeToCheck.before(endTime))) {                                            Attendance attendance = new Attendance(rawValue, userUID, date, userEmail);                                            attendanceRef3.add(attendance);                                            Toast.makeText(StudentAccount.this,                                                    "Your attendance has been recorded", Toast.LENGTH_SHORT).show();                                        } 
查看完整描述

1 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

根据您的评论,发生这种情况是因为当您使用Attendance类的对象向数据库添加数据时,您以不正确的顺序传递给构造函数值。构造函数声明如下:

public Attendance( String sessionID, String date, String userEmail, String userUID)

因此,当您创建类的新对象时,Attendance您应该将以下值传递给构造函数:

Attendance attendance = new Attendance(rawValue, date, userEmail, userUID);

并不是:

Attendance attendance = new Attendance(rawValue, userUID, date, userEmail);

就像现在在您的代码中一样。看到正确的顺序了吗?


查看完整回答
反对 回复 2021-10-13
  • 1 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信