【问题标题】:How document snapshot works文档快照的工作原理
【发布时间】:2020-12-20 13:41:02
【问题描述】:

我正在开发一个应用程序,我们可以将图像上传到 firebase 实时数据库。

在图片中我们可以看到邮件是在一个 uuid 之后的。

现在我添加了以下代码:]

FirebaseDatabase.getInstance().getReference().child("users").addChildEventListener(object :ChildEventListener{
            override fun onChildAdded(snapshot: DataSnapshot, previousChildName: String?) {
                val email= snapshot.child("email").value as String
                emails.add(email)
                adapter.notifyDataSetChanged()
            }

如果我们想获取电子邮件,我们必须遵循这条路径:user->uuid->email(这里 uuid 是随机字母和数字的字符串)

但在代码中我们使用了FirebaseDatabase.getInstance().getReference().child("users"),然后使用了snapshot.child("email"),它用于获取email

我的问题是我们为什么要遵循路径users->email。去 uuid 我们没地方提过?

如果我们没有给出它应该定位的uuid,数据库将如何定位email

【问题讨论】:

  • 我不确定我是否理解问题所在。您共享的代码的哪一部分没有按您的预期/意图工作?
  • 我的代码正在运行。我有一个疑问,这就是我问的原因
  • 在这种情况下,我不确定我是否理解您的要求。能改一下吗?
  • 我已经编辑了这个问题。代码工作正常,我不明白它是如何工作的

标签: android kotlin firebase-realtime-database


【解决方案1】:

当您将带有addChildEventListener 的侦听器附加到某个位置时,该位置下的每个子节点都会调用其onChildAdded 方法。因此,Firebase SDK 调用您的 onChildAdded 以获取 /users 下的 UID。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-17
    • 2021-09-27
    • 2019-03-22
    • 1970-01-01
    • 2018-08-22
    • 1970-01-01
    相关资源
    最近更新 更多