我有这个 Firebase:
我正在尝试使用此代码获取所有问题数据:
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference questionsRef = database.getReference("questions");
questionsRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
HashMap question = dataSnapshot.getValue(HashMap.class);
System.out.println(question.get("0"));
}
}
但是我得到了错误:
com.google.firebase.database.DatabaseException: Class java.util.HashMap has generic type parameters, please use GenericTypeIndicator instead
我尝试了几种方法,但这是最后一个错误。如何获取每个问题的数据和问题的所有选项?
最佳答案
选项对我来说就像一个编号列表,所以不必使用 map 来获取它的内容。
GenericTypeIndicator<List<String>> gti = new GenericTypeIndicator<List<String>>() {};
String question = dataSnapshot.child("question").getValue(String.class);
List<String> questionOptions = dataSnapshot.child("options").getValue(gti);
关于android - 如何在 Firebase 上获取数组数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42384675/