Android Firebase: How To Simply Get All The Values Under A Certain Key?
To get it out of the way, yes there is a similar question on SO, but it doesn't explain exactly what my situation asks for I think. In the Firebase Realtime Database, I have a jso
Solution 1:
This is what I was looking for:
settingsRef.addListenerForSingleValueEvent(newValueEventListener() {
@OverridepublicvoidonDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()){
// easyString value = dataSnapshot1.getValue(String.class);
}
}
@OverridepublicvoidonCancelled(DatabaseError databaseError) {
}
});
Solution 2:
It's suggested that you create a class for a template with getters, empty and parameterised constructors as shown
publicclassTemplate {
String name;
ArrayList<String> list;
publicTemplate() {
}
publicTemplate(String name, ArrayList<String> list) {
this.name = name;
this.list = list;
}
publicStringgetName() {
return name;
}
publicArrayList<String> getList() {
return list;
}
}
now you could easily do this
databaseReference.addListenerForSingleValueEvent(newValueEventListener() {
@OverridepublicvoidonDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot data : dataSnapshot.getChildren()){
Template template = data.getValue(Template.class);
// use this object and store it into an ArrayList<Template> to use it further
}
}
@OverridepublicvoidonCancelled(DatabaseError databaseError) {
}
});
Solution 3:
something like this code :
mTemplateRef.addListenerForSingleValueEvent(
newValueEventListener() {
@OverridepublicvoidonDataChange(DataSnapshot dataSnapshot) {
// dataSnapshot itself a child of "templates"
DataSnapshot messageSnapshot= dataSnapshot;
DataTypeauthor= (DataType)messageSnapshot.child("array").getValue();
// somehow get the values here
}
});
Post a Comment for "Android Firebase: How To Simply Get All The Values Under A Certain Key?"