gpt4 book ai didi

java - FirebaseDatabase.getInstance().getReference() 到子节点并列出该子节点下的键值对

转载 作者:行者123 更新时间:2023-12-02 02:19:16 25 4
gpt4 key购买 nike

我正在尝试访问 shrubs 子项,并在 shrubs 下的每个唯一键下访问键值对,例如:ShrubbedWord :yfyj

Click here to view a screenshot of my firebase tree structure

我已经尝试过,但我什么也没得到:-

postsData = FirebaseDatabase.getInstance().getReference().child("Shrubs");

ChildEventListener childEventListener = new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {

for (DataSnapshot dttSnapshot2 : dataSnapshot.getChildren()) {
Log.d("mylog", "" + dttSnapshot2.getKey().toString() + ":" + dttSnapshot2.getValue().toString());
}
}

现在当我尝试这个时:

postsData = FirebaseDatabase.getInstance().getReference();

ChildEventListener childEventListener = new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {

for (DataSnapshot dttSnapshot2 : dataSnapshot.getChildren()) {
Log.d("mylog", "" + dttSnapshot2.getKey().toString() + ":" + dttSnapshot2.getValue().toString());
}
}

我的日志返回了从生日一直到我不需要的灌木的一大堆数据。只需要 Shrubs 子级中的数据以键值对的形式。

有人知道我怎样才能实现这个目标吗?

最佳答案

试试这个:

 DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("unknown").child("Shrubs");
ref.addValueEventListener(new ValueEventListener(){
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnasphot datas: dataSnapshot.getChildren()){
String name=datas.child("ShrubbedWord").getValue().toString();
}
}

@Override
public void onCancelled(FirebaseError firebaseError) {


}
});

您需要从上到下,在您提供的图像中,有一个子节点,您在其上添加了红线,因此我们看不到它。

我在代码中将其命名为 child("unknown") ,但在您的代码中将其命名为数据库中写入的名称。

之后你写了child("Shrubs"),那么你的dataSnapshot将位于Shrubs子节点的位置。然后您可以在推送 ID 内进行迭代,以便能够检索其中的属性和值。

关于java - FirebaseDatabase.getInstance().getReference() 到子节点并列出该子节点下的键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48754899/

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