gpt4 book ai didi

android - 在 Android 中针对 Firebase 内的按键进行查询

转载 作者:行者123 更新时间:2023-11-30 00:22:00 25 4
gpt4 key购买 nike

我有一个 FirebaseRecyclerAdapter,它在构建我的 firebase 之前就可以工作,现在我不确定如何使用新结构的 json 获取相同的信息。

在我拥有这个之前:

DatabaseReference userReference = mRootRef.child("Users");
query = userReference.orderByChild("name");

使用以下结构

"Users" : {
"dq92R8ftK2haPHJSA9undgqpmxh1" : {
"name" : "Elvis De Abreu",
"username" : "elvis0288"
}

现在我添加了一个名为 Info 的新节点,如下所示:

"Users" : {
"Ox0s6GhGhDcZ1vKkteeZfIyNYXI2" : {
"Info" : {
"email" : "elvis0288@gmail.com",
"name" : "Elvis De Abreu",
"username" : "111"
}
}

我已尝试放置 .child("Info") 和其他相关替代方案,但这不起作用。我应该删除信息并只留下第一个结构还是有办法做到这一点?问题是在 Info 之后我将有另一个 Games 节点,所以这就是为什么我想将它分开

我真的很感激一些帮助

谢谢!

最佳答案

您不应该删除 Info,您需要以正确的方式使用它。你需要改变这个 child :

.child(Info)

.child("Info")

请参阅括号内的双引号。

请使用以下代码:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference usersRef = rootRef.child("Users");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String email = ds.child("Info").child("email").getValue(String.class);
String name = ds.child("Info").child("name").getValue(String.class);
String username = ds.child("Info").child("username").getValue(String.class);
Log.d("TAG", email + " / " + name + " / " + username);
}
}

@Override
public void onCancelled(DatabaseError databaseError) {}
};
usersRef.addListenerForSingleValueEvent(eventListener);

您的输出将是:

elvis0288@gmail.com / Elvis De Abreu / 111

关于android - 在 Android 中针对 Firebase 内的按键进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46121787/

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