无法从Firebase实时数据库中获取数据

时间:2019-05-13 18:26:15

标签: android firebase firebase-realtime-database kotlin

每当打开应用程序时,我都试图获取用户名并与他/她打招呼。但是我无法根据特定用户的uid获取数据。当我运行该应用程序时,吐司实际上并没有显示出来。

数据库结构

"Users" : {
    "SeLT0H7Qz9aWUSIpXwbCquiLBkA2" : {
      "age" : 20,
      "email" : "xyz@gmail.com",
      "name" : "xyz"
    }
}

代码

ref.child("Users").child(uid).child("name").addValueEventListener(object: ValueEventListener{
           override fun onDataChange(ds: DataSnapshot) {
              name = (ds.child("name").getValue()).toString()
               Toast.makeText(baseContext , "Hello $name",Toast.LENGTH_SHORT)
           }
           override fun onCancelled(databaseError: DatabaseError) {

           }
       })

1 个答案:

答案 0 :(得分:0)

您已经将侦听器附加到特定用户的name属性,因此不应在name中获得onDataChange属性:

ref.child("Users").child(uid).child("name").addValueEventListener(object: ValueEventListener{
     override fun onDataChange(ds: DataSnapshot) {
         name = ds.getValue(String::class.java)
         Toast.makeText(baseContext , "Hello $name", Toast.LENGTH_SHORT)
     }