我一直在阅读Firebase文档,但仅显示了简单的示例。我需要做的是从数据库的根中获取所有数据,并将其存储到一组自定义Java对象中(目前,我只是试图将一个调查收集到一个对象中)。根的每个子代都是一个Survey,而我有一个部分设置为接收数据的类。
我了解我使用以下代码:
mDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot childSnapshot : dataSnapshot.getChildren()) {
Survey s = childSnapshot.getValue(Survey.class);
s.toString();
}
}
这是我的Survey.java类。我不确定确切如何在Firebase中反映Survey对象的结构:
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 "";
}
}
我应该如何构造Survey类以与Firebase一起使用?
答案 0 :(得分:1)
question_answers像是List<List<String>>
。你试过了吗?
答案 1 :(得分:-1)
从我所看到的:
公司是一个字符串
说明是一个字符串
名称是一个字符串
num_questions是一个整数
用户是一个字符串
SurveryId很长
question_answers有点复杂。但这似乎是字符串列表。所以列表>。
PS num_questions似乎是多余的,因为您已经可以通过question_answers列表的大小来知道问题的数量。