База данных Firebase Android Getter для собственности

Документация Firebase для Android гласит:

Класс должен определять публичные методы получения для назначаемых свойств. Свойства без общедоступного метода получения будут установлены в значения по умолчанию при десериализации экземпляра

Почему геттерам необходимо присваивать свойства при десериализации?

1 ответ

Решение

пожарный здесь

Сериализатор / десериализатор JSON в Firebase Android SDK создает список свойств-кандидатов для класса на основе его открытых полей и его псевдо-свойств в стиле JavaBean, которые имеют геттер и сеттер.

Мы обсудили, должен ли последний основываться исключительно на геттере для сериализации в JSON и сеттере для десериализации из JSON. Но в этот момент это будет серьезное изменение в поведении, которое мы не хотим делать.

Если вам нужна более широкая поддержка сериализации / десериализации, вы всегда можете использовать для этого Джексона. Смотрите мой ответ здесь: Как десериализовать подкласс в Firebase, используя getValue(Subclass.class)