gpt4 book ai didi

java - Firebase数据库-如何直接获取键下的值? (不在自定义类下)

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

我在 Firebase 实时数据库中有以下数据结构。我不知道如何提取内容。

我的firebase实时数据库结构:

root
|--inGroup
|--#userID
|--#randomId:(the string I want to extract is here)
|--#randomId2:(the string I want to extract is here)
|--#randomIdX:(the string I want to extract is here)

有人可以教我如何在我的 Android 应用程序中提取它吗?

我的代码:

firebase 数据库中提取内容的部分:

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference groupInviteRef = database.getReference("inGroup").child(FirebaseAuth.getInstance().getCurrentUser().getUid());

groupInviteRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot datasnapshot : dataSnapshot.getChildren()) {
-----I am not sure what to fill in here--------
}
}
}

保存我要提取的数据的部分

//Insert a record into InGroup tree
DatabaseReference inGroupRef = FirebaseDatabase.getInstance().getReference("inGroup").child(uid);
inGroupRef.push().setValue(groupId);

我不知道如何从数据库中提取字符串,因为:

1)通常情况下,会使用datasnapshot.getValue(XXXX.Class)来获取值的属性,但这一次,它是一个字符串本身,而不是我自己设置的自定义类.

2)我尝试使用datasnapshot.getvalue(String.class)。但出现此错误:

com.google.firebase.database.DatabaseException: Failed to convert value of type java.util.HashMap to String

谁能教我如何提取我想要的信息?或者我在执行 push().setValue() 时必须放入自定义类?

谢谢!

最佳答案

最后,我使用下面的代码来实现它,不知道为什么一开始它不起作用。

groupInviteRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
String value = snapshot.getValue().toString();
Log.d("val",value);
}
}

关于java - Firebase数据库-如何直接获取键下的值? (不在自定义类下),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47607068/

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