В настоящее время я сканирую QR-код, а затем обновляю свою коллекцию посещаемости в Cloud Firestore.Это не помещает их в правильное место, и я использую класс модели типа 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();
} else {
Toast.makeText(StudentAccount.this,
"You are outside the time parameters for this session", Toast.LENGTH_SHORT).show();
}
}
else {
Toast.makeText(StudentAccount.this,
"Session does not exist", Toast.LENGTH_SHORT).show();
Вот мой код класса модели для посещаемости: я создаю объект типа посещаемости и пытаюсь ввести его.В настоящее время они идут в неправильных местах, и я попытался изменить их, чтобы они соответствовали тому, как они уже выглядят в конструкторе посещаемости:
package com.dissertation.studentscanner;
public class Attendance {
private String sessionID;
private String userUID;
private String signInTime;
private String userEmail;
public Attendance(){
//public no-arg constructor needed
}
public Attendance(String userUID){
this.userUID = userUID;
}
public Attendance (String sessionID, String userUID){
this.sessionID = sessionID;
this.userUID = userUID;
}
public Attendance( String sessionID, String date, String userEmail, String userUID){
this.sessionID = sessionID;
this.signInTime = date;
this.userEmail = userEmail;
this.userUID = userUID;
}
public String getSessionID(){
return sessionID;
}
public String getUserUID(){
return userUID;
}
public String getSignInTime(){
return signInTime;
}
public String getUserEmail(){
return userEmail;
}
Это все еще идет таким образом