Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.93 KB | None | 0 0
  1. public class Question {
  2. private String question;
  3. private String option1;
  4. private String option2;
  5. private String option3;
  6. private int answerNr;
  7.  
  8. public Question(){}
  9.  
  10. public Question(String question, String option1, String option2, String option3, int answerNr) {
  11. this.question = question;
  12. this.option1 = option1;
  13. this.option2 = option2;
  14. this.option3 = option3;
  15. this.answerNr = answerNr;
  16. }
  17.  
  18. public String getQuestion() {
  19. return question;
  20. }
  21.  
  22. public void setQuestion(String question) {
  23. this.question = question;
  24. }
  25.  
  26. public String getOption1() {
  27. return option1;
  28. }
  29.  
  30. public void setOption1(String option1) {
  31. this.option1 = option1;
  32. }
  33.  
  34. public String getOption2() {
  35. return option2;
  36. }
  37.  
  38. public void setOption2(String option2) {
  39. this.option2 = option2;
  40. }
  41.  
  42. public String getOption3() {
  43. return option3;
  44. }
  45.  
  46. public void setOption3(String option3) {
  47. this.option3 = option3;
  48. }
  49.  
  50. public int getAnswerNr() {
  51. return answerNr;
  52. }
  53.  
  54. public void setAnswerNr(int answerNr) {
  55. this.answerNr = answerNr;
  56. }
  57. }
  58.  
  59. public QuizDbHelper(Context context) {
  60. super(context, DATABASE_NAME, null, DATABASE_VERSION);
  61. }
  62.  
  63. @Override
  64. public void onCreate(SQLiteDatabase db) {
  65. this.db = db;
  66.  
  67. final String SQL_CREATE_QUESTIONS_TABLE = "CREATE TABLE " +
  68. QuestionsTable.TABLE_NAME + " ( " +
  69. QuestionsTable._ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
  70. QuestionsTable.COLUMN_QUESTION + " TEXT, " +
  71. QuestionsTable.COLUMN_OPTION1 + " TEXT, " +
  72. QuestionsTable.COLUMN_OPTION2 + " TEXT, " +
  73. QuestionsTable.COLUMN_OPTION3 + " TEXT, " +
  74. QuestionsTable.COLUMN_ANSWER_NR + " INTEGER" +
  75. ")";
  76.  
  77. db.execSQL(SQL_CREATE_QUESTIONS_TABLE);
  78. fillQuestionsTable();
  79. }
  80.  
  81. @Override
  82. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  83. db.execSQL("DROP TABLE IF EXISTS " + QuestionsTable.TABLE_NAME);
  84. onCreate(db);
  85. }
  86.  
  87. private void fillQuestionsTable(){
  88. Question q1 = new Question("How often do blackbeard mains deserve the kill?", "Always", "Sometimes", "Never", 3);
  89. addQuestion(q1);
  90. Question q2 = new Question("How fast is Ash?", "3 speed", "9 speed", "2 speed", 1);
  91. addQuestion(q2);
  92. Question q3 = new Question("How thicc is Rook?", "2 armor", "3 armor", "9 armor", 2);
  93. addQuestion(q3);
  94. }
  95.  
  96. private void addQuestion(Question question){
  97. ContentValues cv = new ContentValues();
  98. cv.put(QuestionsTable.COLUMN_QUESTION, question.getQuestion());
  99. cv.put(QuestionsTable.COLUMN_OPTION1, question.getOption1());
  100. cv.put(QuestionsTable.COLUMN_OPTION2, question.getOption2());
  101. cv.put(QuestionsTable.COLUMN_OPTION3, question.getOption3());
  102. cv.put(QuestionsTable.COLUMN_ANSWER_NR, question.getAnswerNr());
  103. db.insert(QuestionsTable.TABLE_NAME, null, cv);
  104. }
  105.  
  106. public List<Question> getAllQuestions() {
  107. List<Question> questionList = new ArrayList<>();
  108. db = getReadableDatabase();
  109. Cursor c = db.rawQuery("SELECT * FROM " + QuestionsTable.TABLE_NAME, null);
  110. if (c.moveToFirst()) {
  111. do {
  112. Question question = new Question();
  113. question.setQuestion(c.getString(c.getColumnIndex(QuestionsTable.COLUMN_QUESTION)));
  114. question.setOption1(c.getString(c.getColumnIndex(QuestionsTable.COLUMN_OPTION1)));
  115. question.setOption2(c.getString(c.getColumnIndex(QuestionsTable.COLUMN_OPTION2)));
  116. question.setOption3(c.getString(c.getColumnIndex(QuestionsTable.COLUMN_OPTION3)));
  117. question.setAnswerNr(c.getInt(c.getColumnIndex(QuestionsTable.COLUMN_ANSWER_NR)));
  118. questionList.add(question);
  119. } while (c.moveToNext());
  120. }
  121.  
  122. c.close();
  123. return questionList;
  124. }
  125. }
  126.  
  127. public class QuizActivity extends AppCompatActivity {
  128.  
  129. private TextView textViewQuestion;
  130. private TextView textViewScore;
  131. private TextView textViewQuestionCount;
  132. private TextView textViewTimer;
  133. private RadioGroup rbGroup;
  134. private RadioButton rb1;
  135. private RadioButton rb2;
  136. private RadioButton rb3;
  137. private Button buttonConfirmNext;
  138.  
  139. private ColorStateList textColorDefaultRb;
  140.  
  141. private List<Question> questionList;
  142. private int questionCounter;
  143. private int questionCountTotal;
  144. private Question currentQuestion;
  145.  
  146. private int score;
  147. private boolean answered;
  148.  
  149. private long backPressedTime;
  150.  
  151. RadioGroup answers;
  152. RadioButton radioButton;
  153.  
  154. @Override
  155. protected void onCreate(Bundle savedInstanceState) {
  156. super.onCreate(savedInstanceState);
  157. setContentView(R.layout.activity_quiz);
  158.  
  159. textViewQuestion = findViewById(R.id.question);
  160. textViewScore = findViewById(R.id.score);
  161. textViewQuestionCount = findViewById(R.id.question_num);
  162. textViewTimer = findViewById(R.id.timer);
  163. rbGroup = findViewById(R.id.answers);
  164. rb1 = findViewById(R.id.option_1);
  165. rb2 = findViewById(R.id.option_2);
  166. rb3 = findViewById(R.id.option_3);
  167. buttonConfirmNext = findViewById(R.id.confirm);
  168.  
  169. textColorDefaultRb = rb1.getTextColors();
  170.  
  171. QuizDbHelper dbHelper = new QuizDbHelper(this);
  172. questionList = dbHelper.getAllQuestions();
  173. questionCountTotal = questionList.size();
  174. Collections.shuffle(questionList);
  175.  
  176. showNextQuestion();
  177. ...
  178. ...
  179. ...
  180. ...
  181. ...
  182.  
  183. private void showNextQuestion(){
  184. rb1.setTextColor(textColorDefaultRb);
  185. rb2.setTextColor(textColorDefaultRb);
  186. rb3.setTextColor(textColorDefaultRb);
  187. rbGroup.clearCheck();
  188.  
  189. if (questionCounter < questionCountTotal){
  190. currentQuestion = questionList.get(questionCounter);
  191.  
  192. textViewQuestion.setText(currentQuestion.getQuestion());
  193. rb1.setText(currentQuestion.getOption1());
  194. rb2.setText(currentQuestion.getOption2());
  195. rb3.setText(currentQuestion.getOption3());
  196.  
  197. questionCounter++;
  198. textViewQuestionCount.setText("Question: " + questionCounter + "/" + questionCountTotal);
  199. answered = false;
  200. buttonConfirmNext.setText("Confirm");
  201. }
  202. else {
  203. finishQuiz();
  204. }
  205. }
  206.  
  207. private QuizContract() {}
  208.  
  209. public static class QuestionsTable implements BaseColumns {
  210. public static final String TABLE_NAME = "quiz_questions";
  211. public static final String COLUMN_QUESTION = "question";
  212. public static final String COLUMN_OPTION1 = "option1";
  213. public static final String COLUMN_OPTION2 = "option2";
  214. public static final String COLUMN_OPTION3 = "option3";
  215. public static final String COLUMN_ANSWER_NR = "answer_nr";
  216. }
  217. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement