gpt4 book ai didi

android - 从 `onDataChange` Firebase Android 中知道哪个 child 已被更改

转载 作者:行者123 更新时间:2023-11-29 19:26:03 25 4
gpt4 key购买 nike

这是我的 Firebase 数据库结构

"randomParentID" : {
"description" : "my description is here",
"meetings" : {
"randomidmeetings2" : true
},
"members" : {
"WoZ3X4OZBuRepEuZZ0mUONa5h1a2" : true,
"fjshtY3lFdWott5Zd6lr9rJSy7z1" : true
},
"title" : "my title"
}

我需要知道什么时候 randomParentID 里面有任何值被改变了。所以我放了addValueEventListener那里。

但是我还想加上addChildEventListener进入meetingsmembers节点以更具体地了解添加或删除了哪些数据。

这样,当我只想要 onChildAdded 时(或删除或更改)被调用,我也会得到 onDataChange (来自 randomParentID 的听众)被调用。

我的问题是,有什么办法可以知道onDataChange 中哪个子节点发生了变化?这样我可以在更改的数据为 meetings 时跳过它或 members .事件完全。谢谢

最佳答案

is there any way to know which of the children node that has been changed from inside onDataChange

不,没有。任何小的更改都会调用 onDataChange

您可以改为在 randomParentID/descriptionrandomParentID/title 处附加 ValueEventListener,并在 randomParentID/meetingsrandomParentID 处继续使用 ChildEventListener/成员

或者,将对象内的 membersmeetings 移到项目外。数据库看起来像这样

{
"items" : {
"randomParentID" : {
"description" : "my description is here",
"title" : "my title"
}
},
"items_meetings" : {
"randomParentID" : {
"randomidmeetings2" : true
}
},
"items_members" : {
"randomParentID" : {
"WoZ3X4OZBuRepEuZZ0mUONa5h1a2" : true,
"fjshtY3lFdWott5Zd6lr9rJSy7z1" : true
}
}
}

有了这个结构,你可以在items/randomParentID上继续使用ValueEventListener

关于android - 从 `onDataChange` Firebase Android 中知道哪个 child 已被更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41379012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com