你好!
我正在使用Firebase制作测验应用程序。我使用String来获取firebase值:
private String question;
private String answerOne;
private String answerTwo;
private String answerThree;
private String answerFour;
private String correctAnswer;
public ChoiceQuestion(String question, String answerOne, String answerTwo, String answerThree, String answerFour, String correctAnswer) {
this.question = question;
this.answerOne = answerOne;
this.answerTwo = answerTwo;
this.answerThree = answerThree;
this.answerFour = answerFour;
this.correctAnswer = correctAnswer;
}
public ChoiceQuestion() {
}
public String getQuestion() {
return question;
}
public void setQuestion(String question) {
this.question = question;
}
public String getAnswerOne() {
return answerOne;
}
public void setAnswerOne(String answerOne) {
this.answerOne = answerOne;
}
public String getAnswerTwo() {
return answerTwo;
}
public void setAnswerTwo(String answerTwo) {
this.answerTwo = answerTwo;
}
public String getAnswerThree() {
return answerThree;
}
public void setAnswerThree(String answerThree) {
this.answerThree = answerThree;
}
public String getAnswerFour() {
return answerFour;
}
public void setAnswerFour(String answerFour) {
this.answerFour = answerFour;
}
public String getCorrectAnswer() {
return correctAnswer;
}
public void setCorrectAnswer(String correctAnswer) {
this.correctAnswer = correctAnswer;
}
显然,我从firebase获取值的方法仅包含字符串。例如,在问题1中,我要所有答案文本。但是问题2,我希望所有答案都为NUMBER,但是我无法获得此数字,因为我的方法是String而不是Int(您能理解吗?),我需要一种方法来获取这两种类型的变量!
谢谢!
假定您具有对数据库的引用,则可以使用以下代码以不同的格式获取值。
firebaseRef.child( **PATH_TO_NODE **).
addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
//Gets the String Value
String value = dataSnapshot.getValue(String.class));
if(isNumeric(value))
{
//value can be casted to int
}
}
}
@Override
public void onCancelled (DatabaseError databaseError){
}
});
static boolean isNumeric(String strNum) {
if (strNum == null) {
return false;
} try {
double d = Double.parseDouble(strNum);
} catch (NumberFormatException nfe) {
return false;
} return true; }
另外,由于您有POJO,因此可以直接使用 getValue(YourClass.class)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。