将具有动态值的 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>
亲们,谢谢大家的支持。
我的 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>
亲们,谢谢大家的支持。