【发布时间】:2020-09-13 04:24:09
【问题描述】:
我的应用程序中有一个错误,即同时更新 Firebase 实时数据库中的两个根级节点会导致应用程序发生小故障,并且 startActivity(Intent) 失败并返回到基本 Activity。
fun makeNewChannel(currentUser: String, channelname: String) {
val memberkey = fb.child("/channel/$channelname/members").push().key.toString()
val updateChannel = HashMap<String, Any?>()
updateChannel.put("/channel/$channelname/members/$memberkey", currentUser)
updateChannel.put("/channel/$channelname/name", channelname)
val updateUser = HashMap<String, Any?>()
updateUser.put("/user/$currentUser/channels/$channelname", memberkey)
fb.updateChildren(updateUser)
fb.updateChildren(updateChannel)}
如果我注释掉另一个节点上的 updateUser,startActivity 不会崩溃,并且应用程序会顺利过渡到下一个活动。我假设这可能是因为 /channel 节点上的侦听器,但我真的不知道。
【问题讨论】:
-
如果您遇到问题,最好在发布问题时创建MCVE。您为此问题发布了超过 350 行代码。人们需要解析和尝试在线调试的内容很多。请编辑您的问题并隔离问题,这样可以增加获得帮助的机会。
-
以后,当您想添加更多信息时,请不要转发您的问题,而是编辑它:stackoverflow.com/questions/63677620/…
-
你现在可以看看我的更新吗?
标签: android kotlin firebase-realtime-database persistence