Можно ли сериализовать и десериализовать объект, который содержит объект в качестве переменной в Firebase?

1

Я пытаюсь структурировать свои базы данных, и мне было интересно, можно ли десериализовать объект из Firebase RealDatabase со следующей структурой.

public class Profile{
    private String userID;
    private TenantProfile tenant;
}
public class TenantProfile{
    private String name;
    private Room room;
}
public class Room{
    private String town;
    private int size;
}

Можно ли десериализовать весь объектный профиль из Firebase из одного запроса?

Я просто хочу убедиться, что это возможно, перед рефакторингом моего кода и изменением ссылок на базу данных.

Заранее спасибо.

Теги:
firebase
firebase-realtime-database

1 ответ

0

База данных Firebase сериализует/десериализует любые открытые поля и открытые свойства, которые соответствуют соглашениям именования JavaBean для методов получения и установки. Так как классы, которые вы показываете, не содержат ни одного из них, они не будут читать или записывать какие-либо данные.

Если вы пометите поля как public или добавите общедоступные методы получения/установки, то написание экземпляра класса Profile сгенерирует этот JSON:

"userID": {
  "tenant": {
    "name": "the name",
    "room": {
      "town": "the town",
      "size": 42
    }
  }
}

И это также формат, который вы должны иметь в базе данных, чтобы прочитать значение обратно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню