首页 > 解决方案 > 使用kotlin android查询firebase中的所有节点

问题描述

我正在与 firebase 建立一个简单的聊天。我的火力基地结构

chats
     PSTQL2W3qqV8GGu7bjXhYZKrXh92&sCv3CCXOLnYrb38db4V41PoArxD2
          conversatins
                      87483
                           sender: "sCv3CCXOLnYrb38db4V41PoArxD2"
                           time: "3:08"
                           title: "hey!"
                           type: "text"
                      348843
                           sender: "sCv3CCXOLnYrb38db4V41PoArxD2"
                           time: "4:33"
                           title: "HI!"
                           type: "text"
          last_message: "Hey!"
          last_time: "23:23 am"

我的模特

data class Message(
    var conversations: ArrayList<Conversations> = ArrayList(),
    val last_message: String = "",
    val last_time: String = "") {

data class Conversations(
        var sender: String = "",
        var time: String = "",
        var title: String = "",
        var type: String = "")
}

我想在对话中检索数组对象,我试过了

val listenToChild = object : ValueEventListener {
                 override fun onCancelled(p0: DatabaseError) {
                 }
                 override fun onDataChange(p0: DataSnapshot) {
                         val chat = p0.getValue(Message::class.java)
                         Log.d("message",${chat?.conversations?.size}"   
                 }
 }
 mMessageReference.child(keySnapshot.toString()).addValueEventListener(listenToChild)

我得到的结果大小为 0。我的模型有问题吗?

标签: androidkotlin

解决方案


推荐阅读