首页 > 解决方案 > 如何在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取悦吗?...

标签: android

解决方案


使用演员表。

(datas as? Map)?.get("Id") 

这将告诉编译器将其视为地图。如果 data 不是地图,它会将 datasMap 设置为 null,并且 ?. 在这种情况下,运算符将使整个语句返回 null。


推荐阅读