移动应用开发实验2:选择题题库
实验内容:
设计实现一个判断题题库Android APP,其基本功能包括:
- 启动后显示第一个题目的界面,如图1-1所示,界面中包含了题目内容、“正确”、“错误”、“查看答案”和“下一个”按钮。点击“正确”或“错误”表示用于给出的答案,点击“下一个”进入下一个判断题;
- 用户点击“查看”答案后,显示如图1-2所示的界面,其中显示提示信息“确定看答案?”和“答案”按钮。用户点击“答案”后,界面显示该题目的标准答案,如图1-3所示;
- 用户如果在题目界面未选择答案而直接进入答案界面并查看了答案,再次回到题目界面(图1)点击“正确”或“错误”按钮,界面提示信息,如图1-4所示的“作弊是不对的”。
页面展示:






代码如下:
布局文件:activity_main.xml:
问题类Question:
public class Question {public String question;public boolean answer;public boolean isCheated;public Question() {}public boolean isAnswer() {return answer;}public void setAnswer(boolean answer) {this.answer = answer;}public String getQuestion() {return question;}public void setQuestion(String question) {this.question = question;}public boolean isCheated() {return isCheated;}public void setCheated(boolean cheated) {isCheated = cheated;}
}
MainActivity:
public class MainActivity extends AppCompatActivity implements View.OnClickListener{private List questions;private TextView ques;private int idofQuestions;private double score;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initQuestions();Button yes=(Button) findViewById(R.id.Yes);Button no=(Button) findViewById(R.id.No);Button showAnswer=(Button) findViewById(R.id.showAnswer);Button next=(Button) findViewById(R.id.Next);yes.setOnClickListener(this);no.setOnClickListener(this);showAnswer.setOnClickListener(this);next.setOnClickListener(this);}/*** 初始化问题列表*/public void initQuestions(){ques=(TextView) findViewById(R.id.question);this.questions=new ArrayList<>();this.idofQuestions=0;Question q1=new Question();q1.setQuestion("你吃饭了吗?");q1.setAnswer(true);q1.setCheated(false);this.questions.add(q1);Question q2=new Question();q2.setQuestion("你喜欢移动应用吗?");q2.setAnswer(true);q2.setCheated(false);this.questions.add(q2);Question q3=new Question();q3.setQuestion("社会主义核心价值观");q3.setAnswer(true);q3.setCheated(false);this.questions.add(q3);Question q4=new Question();q4.setQuestion("Activity");q4.setAnswer(true);q4.setCheated(false);this.questions.add(q4);Question q5=new Question();q5.setQuestion("你追星吗");q5.setAnswer(false);q5.setCheated(false);this.questions.add(q5);ques.setText(this.questions.get(this.idofQuestions).getQuestion());}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.Yes:AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity.this);if(this.idofQuestions
布局文件activity_second.xml :展示得分
得分SecondActivity:
public class SecondActivity extends AppCompatActivity {private TextView textView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_second);Intent intent=getIntent();String data=intent.getStringExtra("extra_data");textView=(TextView) findViewById(R.id.score);textView.setText("最终得分:"+data);Button button2 = (Button) findViewById(R.id.button_2);button2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent();intent.putExtra("data_return", "Hello FirstActivity");setResult(RESULT_OK, intent);startActivity(intent);}});}@Overridepublic void onBackPressed() {Intent intent=new Intent();intent.putExtra("data_return","Hello FirstActivity");setResult(RESULT_OK,intent);finish();}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
