android - 使用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。我的模型有问题吗?
解决方案
推荐阅读
- autohotkey - 如何检测“文本/可写”字段是否被聚焦
- json - Azure 数据工厂 - 从 Data Lake Gen 2 JSON 文件中提取信息
- php - 如何获取此 RSS 提要的子节点?
- c - scanf() 不适用于获取句子
- jquery - 如何使用 jquery 在选择选项中设置选定值?
- c# - Mac上的“dotnet publish”创建一个.dll,但在Linux上产生一个可执行文件?
- python - 如何将相关子查询转换为 pyspark 代码
- c# - HttpContext.Current.Server.MapPath() 返回不一致的结果
- postgresql - Apache Airflow 将 Postgress 安装为后端数据库 - 错误
- html - 如何减少同一 mat-option 中文本行之间的间距?