Лучшие практики для преобразования базы данных Firebase с динамическими значениями в классы данных kotlin - PullRequest
1 голос
/ 16 октября 2019

Моя база данных Firebase в реальном времени имеет динамические значения для узлов (под такими службами, как Beard - Trim, Facial, Hair color painting и т. Д.).

Что было бы лучше всего преобразовать в класс данных Kotlin (Java POJO)?


data class User constructor(
    var services: List<Services>
)

data class Services constructor(
    var description: String = "",
    var duration: String = "",
    var name: String = "",
    var picture: String = "",
    var picture_url: String = "",
    var price: String = "",
    var thumbnail: String = "",
    var thumbnail_url: String = ""
)

Ответы [ 2 ]

1 голос
/ 16 октября 2019

Пока каждое поле класса данных имеет значение NULL var, ваш класс будет работать отлично. Неважно, что является ключом вашего узла. Это может быть пользовательская строка, как в вашем случае, или даже случайный идентификатор, который генерируется методом push () .

Но помните, что использование этих пользовательских имен для ваших ключей можетработать для небольших наборов данных, но в случае более крупных приложений он может не масштабироваться. Поэтому лучше использовать случайные ключи, предоставленные методом push().

0 голосов
/ 29 октября 2019

Наконец, решена проблема с картой (вместо списка), когда данные поступают из Firebase в виде карты.

var services: Map<String, Services> 

Ребята, спасибо всем за поддержку.

...