Kotlin:从Firebase获取数据

我正在努力寻找一种从我的Firebase数据库中获取单个值的有效方法。 我来自与Swift合作。 当使用Swift从Firebase获取数据时,就像创建一个字典并通过它访问数据一样简单,这使得我可以访问这个值来做一些事情。 例如

guard let dictionary = snapshot.value as? [String: AnyObject] else { return } let username = dictionary["username"] as? String if username == "Bob" { // do something } 

我只能在网上find使用循环来循环Kotlin快照的文档和答案。 有没有一个高效的方法来做到这一点? 这里是我可以在网上find的。 这里有一个片段,让你开始。 对此,我真的非常感激。

 mReference.getReference("users").addListenerForSingleValueEvent(object : ValueEventListener { override fun onCancelled(p0: DatabaseError?) { TODO("not implemented") } override fun onDataChange(snapshot: DataSnapshot?) { val children = snapshot!!.children println("count: " + snapshot.children.count().toString()) } }) 

否则,你可以简化循环。 喜欢这个

 //by using Iterable function snapshot.children.filter { children -> children.hasChild(targetUserKey) }.map { children -> children.key }.first()