溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android APP編寫簡單答題器

發(fā)布時間:2020-10-14 16:38:28 來源:腳本之家 閱讀:215 作者:lijiao 欄目:移動開發(fā)

本文為大家分享了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> 


以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI