gpt4 book ai didi

android - 在 Android 应用程序的 firebase 数据库中检索子数组列表

转载 作者:行者123 更新时间:2023-11-29 18:58:06 25 4
gpt4 key购买 nike

我想知道如何检索数据请帮忙!谢谢。

这是我在文件库中的数据库结构。

db structure

 mDatabase = FirebaseDatabase.getInstance().getReference().child("chinese");
mDatabase.keepSynced(true);

mDatabase.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot childDataSnapshot : dataSnapshot.getChildren()) {
Log.v(TAG,""+ childDataSnapshot.getKey()); //displays the key for the node
Log.v(TAG,""+ childDataSnapshot.child("ingredient").getValue()); //gives the value for given keyname
}
}

@Override
public void onCancelled(DatabaseError databaseError) {

}
});

最佳答案

mDatabase = FirebaseDatabase.getInstance().getReference().child("chinese");
mDatabase.keepSynced(true);

mDatabase.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot childDataSnapshot : dataSnapshot.getChildren()) {
if (childDataSnapshot.child("ingredient").getValue() != null) {
ArrayList<String> ingredients = new ArrayList<>();
for (DataSnapshot ing : childDataSnapshot.child("ingredient").getChildren()) {
ingredients.add(ing.child("ingredient").getValue(String.class));
}
System.out.println("Gained data: " + ingredients.toString());
}
}
}

@Override
public void onCancelled(DatabaseError databaseError) {

}
});

另一种方法是将 DataSnapshot 值转换为 ArrayList:

GenericTypeIndicator<ArrayList<String>> t = new GenericTypeIndicator<ArrayList<String>>() {};
ArrayList<String> ingredients = childDataSnapshot.child("ingredient").getValue(t);

关于android - 在 Android 应用程序的 firebase 数据库中检索子数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49573352/

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