【发布时间】:2021-08-22 05:47:34
【问题描述】:
我一直在尝试从 Firebase 实时数据库中检索数据,但出现了问题。
Here is the screenshot of database
我想检索“CS102”节点下的所有问题(问题1,问题2等)数据并将其存储在arraylist中。 我尝试了以下几种方式:
reference = FirebaseDatabase.getInstance().getReference().child("CreateQuizQuestions").child(code);
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull @NotNull DataSnapshot snapshot) {
if(snapshot.exists()) {
for(DataSnapshot ds:snapshot.getChildren()){
String QuizName=ds.child("QuizName").getValue().toString();
String TotalQuestions=ds.child("TotalQuestions").getValue().toString();
String ques=ds.child("Question").getValue().toString();
String option1=ds.child("Option1").getValue().toString();
String option2=ds.child("Option2").getValue().toString();
String option3=ds.child("Option3").getValue().toString();
String option4=ds.child("Option4").getValue().toString();
String correctAnswer=ds.child("CorrectAnswer").getValue().toString();
GetQuestion getQuestion=new GetQuestion(ques,option1,option2,option3,option4,correctAnswer);
list.add(getQuestion);
Log.d("Data Values: ","Question:"+list.get(0).question+" Option1: "+list.get(0).option1);
Log.d("Inner Size Tag","Size of list: "+list.size());
}
} else {
Toast.makeText(getApplicationContext(),"No Data",Toast.LENGTH_SHORT).show();
}
}
@Override
public void onCancelled(@NonNull @NotNull DatabaseError error) {
}
});
但有些地方出了问题 请帮助我找到解决方案
【问题讨论】:
-
Question, Question1...里面有什么?是只需要节点的键还是里面的数据?
-
您正在尝试获取“Question1”、“Question2”等的数据。但是您必须获取“Question1”、“Question2”中名为“QuizName”和“总问题”
标签: java android firebase android-studio firebase-realtime-database