每当打开应用程序时,我都试图获取用户名并与他/她打招呼。但是我无法根据特定用户的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) {
}
})
答案 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)
}