Firebase документація для android читає:
Клас повинен визначити загальнодоступні геттери для властивостей бути призначений Властивості без загальнодоступного геттера будуть встановлені на їх значення за замовчуванням, коли екземпляр десеріалізується
Чому геттери потребує призначити властивості в десериализации?
Відповіді:
1 для відповіді № 1гальковий басейн тут
Серіалізатор JSON / десеріалізатор у FirebaseSDK для Android створює список властивостей кандидатів для класу на основі його відкритих полів та його псевдо-властивостей у стилі JavaBean, у яких є геттер і сеттер.
Ми обговорювали, чи має бути останнійзаснована виключно на геттері для серіалізації JSON і набір для десеріалізації з JSON. Але на цей момент це було б незмінною зміною поведінки, яку ми не хочемо робити.
Якщо ви хочете більш широко підтримувати серіалізацію / десеріалізацію, ви завжди можете використати Джексон, щоб це зробити. Подивіться мою відповідь тут: Як десеріалізувати підклас у Firebase за допомогою getValue (Subclass.class)