【发布时间】:2018-03-13 22:26:51
【问题描述】:
我正在尝试使用 Firebase 实时数据库在 Android 3.0.1 上进行注册过程。一切都完成了。我可以向数据库添加值。但问题是当我单击“注册”按钮时,它会不断添加相同的数据。意图根本不起作用。有人可以帮忙吗?
【问题讨论】:
-
把代码写成文本
标签: java android firebase firebase-realtime-database insert
我正在尝试使用 Firebase 实时数据库在 Android 3.0.1 上进行注册过程。一切都完成了。我可以向数据库添加值。但问题是当我单击“注册”按钮时,它会不断添加相同的数据。意图根本不起作用。有人可以帮忙吗?
【问题讨论】:
标签: java android firebase firebase-realtime-database insert
您在 listener 中有 push(),这意味着每次您 push() 时,都会再次调用 listener - 它正在侦听任何更新,而不仅仅是在其中执行的更新。
您只需将push() 拉到侦听器之外。即完全删除监听器。
如果您想监听push().set() 的完成,只需向事件添加一个完成监听器或(最简单的方法)只需使用set 方法的参数作为完成监听器,如this post
或者,如果您想使用相同的设置,您可以使用addListenerForSingleValueEvent() 作为按键,通过将getKey() 附加到push().set() 来检索该按键,但我会推荐第一种方法而不是这个方法。
【讨论】:
addListenerForSingleValueEvent()。非常感谢。