软件编程
位置:首页>> 软件编程>> Android编程>> Android APP编写简单答题器

Android APP编写简单答题器

作者:lijiao  发布时间:2021-05-29 13:00:17 

标签:Android,APP,答题器

本文为大家分享了Android APP编写的简单答题器,此答题器可以通过Next按钮选择下一题,新写题目的类Question,有两个成员变量。

java代码:


package com.android.testrecord;

/**
* Created by wang on 16-10-19.
*/
public class Question {
 private int mTextResId;
 private boolean mAnswerTrue;

public Question(int textResId, boolean answerTrue) {
   mTextResId = textResId;
   mAnswerTrue = answerTrue;

}

public int getTextResId() {
   return mTextResId;
 }

public boolean isAnswerTrue() {
   return mAnswerTrue;
 }

public void setTextResId(int textResId) {
   mTextResId = textResId;
 }

public void setAnswerTrue(boolean answerTrue) {
   mAnswerTrue = answerTrue;
 }
}

java代码:


package com.android.testrecord;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class QuizActivity extends AppCompatActivity {
 private Button mTrueButton;
 private Button mFalseButton;
 private Button mNextButton;
 private TextView mQuestionTextView;
 private Question[] mQuestionBank = new Question[] {
     new Question(R.string.question_oceans, true),
     new Question(R.string.question_mideast, false),
     new Question(R.string.question_africa, false),
     new Question(R.string.question_americas,true),
     new Question(R.string.question_asia, true),
 };
 private int mCurrentIndex = 0;

private void updateQuestion() {
   int question = mQuestionBank[mCurrentIndex].getTextResId();
   mQuestionTextView.setText(question);
 }

private void checkAnswer(boolean userProessedTrue) {
   boolean answerIsTrue = mQuestionBank[mCurrentIndex].isAnswerTrue();
   int messageId = 0;
   if (userProessedTrue == answerIsTrue)
     messageId = R.string.correct_toast;
   else
     messageId = R.string.incorrect_toast;
   Toast.makeText(this, messageId, Toast.LENGTH_SHORT).show();
 }

@Override
 protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_quiz);

mQuestionTextView = (TextView) findViewById(R.id.question_test_view);
   // int question = mQuestionBank[mCurrentIndex].getTextResId();
   // mQuestionTextView.setText(question);
   updateQuestion();

mTrueButton = (Button) findViewById(R.id.true_button);
   mTrueButton.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View v) {
       // Does nothing yet, but soon!
      /* Toast.makeText(QuizActivity.this,
           R.string.incorrect_toast,
           Toast.LENGTH_SHORT).show(); */
       checkAnswer(true);
     }
   });
   mFalseButton = (Button) findViewById(R.id.false_button);
   mFalseButton.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View v) {
       // Does nothing yet, but soon!
      /*  Toast.makeText(QuizActivity.this,
           R.string.correct_toast,
           Toast.LENGTH_SHORT).show(); */
       checkAnswer(false);
     }
   });
   mNextButton = (Button) findViewById(R.id.next_button);
   mNextButton.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View v) {
       mCurrentIndex = (mCurrentIndex + 1) % mQuestionBank.length;
       // int question = mQuestionBank[mCurrentIndex].getTextResId();
       // mQuestionTextView.setText(question);
       updateQuestion();
     }
   });
 }
}

xml代码:


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:gravity="center"
 android:orientation="vertical" >
 <TextView
   android:id="@+id/question_test_view"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:padding="24dp"/>
 <LinearLayout
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:orientation="horizontal">
   <Button
     android:id="@+id/true_button"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="@string/true_button"/>
   <Button
     android:id="@+id/false_button"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="@string/false_button"/>
 </LinearLayout>
 <Button
   android:id="@+id/next_button"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="@string/next_button"/>
 </LinearLayout>

代码:


<resources>
 <string name="app_name">GeoQuiz</string>
 <string name="question_text">
   Constantinople is the largest city in Turkey.
 </string>
 <string name="true_button">True</string>
 <string name="false_button">False</string>
 <string name="correct_toast">Correct!</string>
 <string name="incorrect_toast">Incorrect!</string>
 <string name="action_settings">Settings</string>
 <string name="next_button">Next</string>
 <string name="question_oceans">The Pacific Ocean is larger than the Atlantic Ocean.</string>
 <string name="question_mideast">The Suez Canal connects the Red Sea and the Indian Ocean.</string>
 <string name="question_africa">The source of the Nile River is in Egypt.</string>
 <string name="question_americas">The Amazon River is the longest river in the Americas.</string>
 <string name="question_asia">Lake Baikal is the world\'s oldest and deepest freshwater lake.</string>
</resources>

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com