Android Studio: попытка получить данные из документа в Firestore, но он возвращает нольAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Android Studio: попытка получить данные из документа в Firestore, но он возвращает ноль

Сообщение Anonymous »

Вот код класса LessonGroup:

Код: Выделить всё

public class LessonGroup implements Serializable {
//properties
private String studentId;
private String lessonGroupId;
private String courseId;
private String dayOfWeek;
private String startTimeOfDay;
private String endTimeOfDay;
private ArrayList lessons;
private String firstLessonDate;
private double boughtPrice;
private int finishedLessonCount;
private int totalLessonCount;
private boolean hasPaid;

public LessonGroup(){
//public no-argument constructor needed for FireStore database
}

public LessonGroup(
String studentId,
String lessonGroupId,
String courseId,
String dayOfWeek,
String startTimeOfDay,
String endTimeOfDay,
String firstLessonDate,
double boughtPrice,
int totalLessonCount){
//initialise private properties

this.studentId = studentId;
this.lessonGroupId = lessonGroupId;
this.courseId = courseId;
this.dayOfWeek = dayOfWeek;
this.startTimeOfDay = startTimeOfDay;
this.endTimeOfDay = endTimeOfDay;
this.lessons = new ArrayList();
this.firstLessonDate = firstLessonDate;
this.boughtPrice = boughtPrice;
this.finishedLessonCount = 0;
this.totalLessonCount = totalLessonCount;
this.hasPaid = false;
}
//various accessor methods

public String getCourseID() {
Log.d("Is Null", String.valueOf(courseId==null));
return this.courseId;
}

public String getStudentId() {
return studentId;
}
public String getLessonGroupId() {
return lessonGroupId;
}
public String getFirstLessonDate() {
return firstLessonDate;
}
public String getDayOfWeek() {
return dayOfWeek;
}
public String getStartTimeOfDay() {
return startTimeOfDay;
}
public String getEndTimeOfDay() {
return endTimeOfDay;
}
public double getBoughtPrice() {
return boughtPrice;
}
public ArrayList getLessons() {
return lessons;
}
public int getRemainingLessonCount() {
return totalLessonCount - finishedLessonCount;
}
public int getFinishedLessonCount() {
return finishedLessonCount;
}
public boolean getHasPaid() {
return hasPaid;
}
}
Вот код метода, в котором я пытаюсь вызвать getCourseID():

Код: Выделить всё

private void getUserCoursesInfo(){
ArrayList lessonGroups = studentUser.getAllLessonGroups();
Log.d("StudentUser", "Is student null? " + String.valueOf(studentUser == null));
Log.d("LessonGroup", "Is lessonGroup null? " + String.valueOf(lessonGroups == null));
Log.d("LessonGroup", "Length " + String.valueOf(lessonGroups.size()));
if(lessonGroups.size() == 0){
return;
}
// for each lesson group in the student's lesson group array list
for (LessonGroup lessonGroup : lessonGroups){
Log.d("BoughtPrice", String.valueOf(lessonGroup.getBoughtPrice()));
Log.d("ID", lessonGroup.getLessonGroupId());
Log.d("StudentID", lessonGroup.getStudentId());

// get the corresponding courseID attribute in the lessonGroup object
String courseID = lessonGroup.getCourseID();
Log.d("CourseID", "CourseID is null: " + String.valueOf((courseID == null)));
}
Когда я загружаю объект в Firestore, ошибок не возникает, однако при получении данных я получаю значение null. Log.d() показывает, что объект пользователя ученика не имеет значения NULL, объект LessonGroup не имеет значения NULL, а другие свойства объекта LessonGroup также не имеют значения NULL. ТОЛЬКО свойство CourseID имеет значение NULL, чего быть не должно, поскольку в Firestore оно явно имеет ненулевое строковое значение. Почему это происходит?
В Firestore идентификатор курса имеет значение «ec08d467-19d8-4f0f-a6ce-53303227a351».
Проверьте прикрепленные скриншоты. здесь:
Журнал Android Studio, показывающий, что идентификатор курса имеет значение null
Объектный документ LessonGroup базы данных Firestore

Подробнее здесь: https://stackoverflow.com/questions/790 ... ut-it-retu
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»