Kotlin:从Firebase获取数据

时间:2017-12-04 11:57:53

标签: android firebase firebase-realtime-database kotlin

我很难找到一种从我的Firebase数据库中获取单个值的有效方法。我来自与Swift一起工作。当使用Swift从Firebase获取数据时,它就像创建字典并通过它访问数据一样简单,这使我可以访问该值以对其执行某些操作。 E.g

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

if username == "Bob" {
  // do something
}

我只能在网上找到用于循环的文档和答案,以循环Kotlin中的快照。有效的方法有很多吗?这是我在网上找到的所有内容。这是一个让你入门的片段。我真的很感激。

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())
    }

})

1 个答案:

答案 0 :(得分:0)

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

//by using Iterable function

snapshot.children.filter {
                    children -> children.hasChild(targetUserKey)
                }.map {
                    children -> children.key
                }.first()