Могу ли я получить значение 2 разных классов в одной и той же функции onDataChange
Ответ - нет!Согласно официальной документации класса DataSnapshot :
Экземпляр DataSnapshot содержит данные из базы данных Firebase.Каждый раз, когда вы читаете данные базы данных, вы получаете данные как DataSnapshot.
Если вы используете класс модели, это означает, что вы используете встроенный сериализатор / десериализатор JSON-to-POJO
.Поэтому, когда вы используете следующую строку кода:
Model_1 m1 = dataSnapshot.getValue(model_1.class);
Это означает, что вы десериализуете данные из JSON обратно в объект класса POJO.Это также означает, что тип объекта может иметь тип single , тип model_1
.Он также не может быть любого другого типа, скажем, model_2
.Это может быть только тип model_1
.Таким образом, DataSnapshot
определенного местоположения может возвращать объект одного типа.