我想知道如何检索数据请帮助!谢谢。
这是我在数据库中的数据库结构。
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);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句