如何更好地构建代码

时间:2014-01-30 21:31:22

标签: java android

我想知道如何在android中创建一个测验环境。我不想要的是每当有人得到正确答案时就开放一项新活动,因为有100多个问题。

我正在使用g一个广播组来回答问题的textview和一个按钮来回答下一个问题,

所以现在我的代码看起来像这样

   String questions[] = {"question1" , "question2".....};

  If (textview.gettext= "question1" && radioA.is selected= true) {
             RadioA.setText ("newAnswerHere");
              RadioB.setText("......)
    }

现在我知道我可以使用switch语句但是必须有一个更简单的方法来做到这一点?没有吗?

2 个答案:

答案 0 :(得分:0)

您是否尝试使用“问题”对象?:

public class Question {

    String question;
    String[] answers;
    String correct;

    //methods

}

使用它,您可以将它们存储在数据对象中,然后使用它们而不是固定数组

答案 1 :(得分:0)

我总是推荐最简单的模式:extract method

第一步

String questions[] = {"question1", "question2".....};

if (isQuestion1Selected()) {
  setNewAnswersHere()
}

private boolean isQuestionSelected() {    
    return textview.gettext().equals("question1") && radioA.isSelected == true;
}

private void setNewAnswersHere(){
    RadioA.setText("newAnswerHere");
    RadioB.setText("......);
}

但这只是第一步:)


第二步

String questions[] = {"question1", "question2".....};

if (isQuestionSelected(1)) {
  setNewAnswersHere()
}

private boolean isQuestionSelected(int number) {    
    return textview.gettext().equals("question" +  number) && radioA.isSelected == true;
}

private void setNewAnswersHere(){
    RadioA.setText("newAnswerHere");
    RadioB.setText("......);
}