android - 文档快照的工作原理
问题描述
我正在开发一个应用程序,我们可以将图像上传到 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
.
我的问题是我们为什么要遵循 path users->email
。我们没有提到去 uuid 吗?
email
如果我们没有给出uuid
它应该定位的位置,数据库将如何定位?
解决方案
当您将侦听器附加addChildEventListener
到某个位置时,该位置下的每个子节点都会调用其onChildAdded
方法。因此 Firebase SDKonChildAdded
在/users
.
推荐阅读
- python - Flask_oidc 在 Docker 容器中运行时给出“Errno 99 无法分配请求的地址”
- android - 在 recyclerView 中获取共享元素转换
- python - 我可以使用 pip 在 Python 3 中安装 Python 2 包吗?
- wordpress - 如何检查是否在 wordpress 定制器中检查了 checkox
- java - 向服务器发出 GET 请求的 Curl 命令在终端中有效,但在 java 代码中无效
- html - 单击所需大小打开选择框,即没有滚动条
- java - 当所有活动都需要相同数据时,单例的替代方案
- r - 如何从一个巨大的矩阵中获得尽可能少的行 NA 的最大可能列序列?
- node.js - 用 sinon 断言存根方法的参数
- javascript - 更新图表类型时出现奇怪的比例变化