Я читал документацию по Firebase, но она показывает только простые примеры.Что мне нужно сделать, это взять все данные из корня моей базы данных и сохранить их в массиве пользовательских объектов Java (сейчас я просто пытаюсь вставить один опрос в один объект).Каждый дочерний элемент root является Survey, и у меня есть частично настроенный класс для сбора данных.
Я понимаю, что использую этот код:
mDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot childSnapshot : dataSnapshot.getChildren()) {
Survey s = childSnapshot.getValue(Survey.class);
s.toString();
}
}
Вот мой опрос.java класс.Я не уверен, как именно отразить структуру объектов Survey в Firebase:
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
/* This class stores one survey from the database */
public class Survey implements Serializable {
String name;
String company;
String description;
String num_questions;
String user;
//HashMap<String,ArrayList<String>> question_strings; // Stores question title as key, with an arraylist of answer choices as the value
public Survey() { }
public Survey(String name, String company, String description, HashMap<String,ArrayList<String>> question_strings)
{
this.name = name;
this.company = company;
this.description = description;
//this.question_strings = question_strings;
}
public void setName(String name) { this.name = name; }
public void setCompany(String company) { this.company = company;}
public void setDescription(String description) { this.description = description;}
public void setNumQuestions(String num) { this.num_questions = num;}
public void setUser(String user) { this.user = user;}
public String getName() { return this.name;}
public String getCompany() { return this.company;}
public String getDescription() { return this.description;}
public String getNumQuestions() { return this.num_questions;}
public String getUser() { return this.user;}
public String toString()
{
System.out.println("Name: " + name);
System.out.println("Company: " + company);
System.out.println("Description: " + description);
System.out.println("Num questions: " + num_questions);
return "";
}
}
И, наконец, вот скриншот, показывающий структуру объектов в базе данных: ![enter image description here](https://i.stack.imgur.com/NG7P5.png)
Как мне структурировать свой класс Survey для работы с Firebase?