将具有动态值的 Firebase 数据库转换为 Kotlin 数据的最佳实践 类

Best practices to convert Firebase database having dynamic values to kotlin data classes

我的 firebase 实时数据库具有节点的动态值(在 Beard - Trim、面部、染发等服务下)。

将其转换为 Kotlin 数据的最佳做法是什么 class(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 = ""
)

只要数据的每个字段 class 都可以为空 var,您的 class 就可以正常工作。节点的密钥是什么并不重要。它可以是您的情况下的自定义字符串,甚至可以是 push() 方法生成的随机 ID。

但请记住,为您的密钥使用这些自定义名称可能适用于小型数据集,但对于较大的应用程序,它可能无法扩展。所以最好使用 push() 方法提供的那些随机密钥。

最后,当数据从 Firebase 作为 Map 接收时,解决了 Map(而不是 List)的问题。

var services: Map<String, Services> 

亲们,谢谢大家的支持。