android - 如何在android中使用来自firebase数据库的哈希映射
问题描述
val usersref = RTDBref.child("users")
usersref.get().addOnSuccessListener { datasnapshot ->
val datas = datasnapshot.value
Log.i("datas", datas.toString()) //it returns hash map
val id = datas.get("Id") //can't use , redline here
}
datasnapshot.value
返回 {Id=userId, uid=uid}。这是一个哈希映射。
所以我想用来val id = datas.get("Id")
从哈希映射中获取数据,
但我不能使用它,因为val datas
是任何类型?在从 firebase 数据库中检索数据之前。
有什么get()
方法可以val datas
取悦吗?...
解决方案
使用演员表。
(datas as? Map)?.get("Id")
这将告诉编译器将其视为地图。如果 data 不是地图,它会将 datasMap 设置为 null,并且 ?. 在这种情况下,运算符将使整个语句返回 null。
推荐阅读
- r - 拆分数据框并映射到列表
- php - 迁移 sql 错误的问题 一般错误:1215
- c# - 一次触发一个计时器 foreach 元素?
- python - How to add function with a name supplied as string to a class in python?
- python - 为什么我在使用 size() 或 count() 时会看到不同的结果?
- swift - Swift,CFDataGetBytePtr 的内存地址问题
- python-3.x - 如何在 matplotlib 子图中设置属性?
- ruby-on-rails - Heroku 和 ruby on rails:部署有效,但运行应用程序失败执行通常的 sqlite3 错误
- macos - macOS Catalina 更改 clang sysroot 和 gxx-include-dir
- regex - 另一个关于匹配和忽略空格的 RegEX 问题