前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android APP编写简单答题器

Android APP编写简单答题器

作者头像
砸漏
发布2020-10-31 17:00:49
8190
发布2020-10-31 17:00:49
举报
文章被收录于专栏:恩蓝脚本恩蓝脚本

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

java代码:

代码语言:javascript
复制
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代码:

代码语言:javascript
复制
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代码:

代码语言:javascript
复制
<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  

代码:

代码语言:javascript
复制
<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  

以上就是本文的全部内容,希望对大家的学习有所帮助。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档