当前位置: 首页 > 知识库问答 >
问题:

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

王宜
2023-03-14

我正在尝试获取我的用户名,并在应用程序打开时向他/她问好。但我无法根据某个用户的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个答案

公孙涵育
2023-03-14

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

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)
     }
 类似资料:
  • 我试图显示一个零件的"loc",如果它的零件号我给。以下是数据结构的样子: 活动代码: getLoc是Product类的getter函数,它返回给定curP对应的“loc”。curP部分表示子值。 逻辑对我来说似乎是正确的,但我没有得到输出。我哪里出了问题?

  • 我正在寻找一种方法,以数组[]或字符串等格式从Firebase实时数据库获取数据。 我的数据库如下所示:链接到数据库的图像 或者:

  • 我已经花了几个小时阅读产品分支中的0和1。请在Firebase数据库有经验的人帮助我:(

  • 我有一个带有此模式的数据库: 我测试了这段代码,但我无法从数据库中获得任何消息。我会感谢你的帮助。

  • 我想从Firebase实时数据库中获取整个JSON数组。从实时数据库中提取数组并将其存储在自定义类的ArrayList中。

  • 我正在尝试用Firebase制作一个简单的Android应用程序。 目前,我只是试图从Firebase实时保存用户数据库。但由于某种原因它不起作用。另一方面,身份验证工作完美。 数据库本身没有显示任何内容。它总是显示“null” 我一直在关注这个YouTube教程,并一直在做一些类似的事情。 当我尝试创建一个用户并将其发送到数据库时,运行的程序没有给出任何答案。我有一个进度条,一旦setValue