【问题标题】:Get firebase snapshot data in Kotlin Android在 Kotlin Android 中获取 firebase 快照数据
【发布时间】:2021-08-06 15:31:31
【问题描述】:

我是 Android 新手,我不知道如何在单个数据类的 UID 中一次获取所有 firebase 快照数据。

  val usersPrivateRef = Constants.FIREBASE_RESIDENT_PRIVATE
    usersPrivateRef?.child("Fs0qczU3GsfJuGDGAeEN7bIgfjD3")
        ?.addListenerForSingleValueEvent(object : ValueEventListener{
            override fun onDataChange(snapshot: DataSnapshot) {
                    if (snapshot.exists()) {
                        println(snapshot)
                    } else {
                        showLongToast("Snapshot not exists")
                    }
            }
            override fun onCancelled(error: DatabaseError) {}
        })

【问题讨论】:

    标签: android firebase kotlin firebase-realtime-database


    【解决方案1】:

    要从DataSnapshot 中获取值,您可以使用它的child()getValue 调用。例如,要打印 Krishna 的电子邮件,您可以:

    println(snapshot.child("personalDetails/email").getValue(String::class.java)
    

    【讨论】:

    • 感谢您的回复,我知道如何从快照中获取特定值。我的问题是如何将快照数据存储到数据类中。实际上,我已经在 iOS/Swift 中这样做了,但我不知道如何在 Android 中做到这一点。
    • 您可能希望在您的问题中显示该代码,而不是在此处的评论中。
    【解决方案2】:

    我找到了解决上述问题的方法 在 Gson 库的帮助下,我还创建了与我的快照数据相同的 Kotlin 数据类。

    private var residentDATA : ArrayList<MineUserInfo> = ArrayList<MineUserInfo>()
    
    var gson = Gson()
    val json = Gson().toJson(snapshot.value)
    var data = gson?.fromJson(json, MineUserInfo::class.java)
    residentDATA.add(data)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 2021-06-16
      • 2019-05-07
      • 2018-07-10
      • 2017-09-22
      相关资源
      最近更新 更多