Advertisement
Guest User

Untitled

a guest
Feb 7th, 2016
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.68 KB | None | 0 0
  1. public class DbHelper extends SQLiteOpenHelper {
  2. private static final int DATABASE_VERSION = 1;
  3. private static final String DATABASE_NAME = "QUIZ";
  4. private static final String TABLE_QUIZ = "quiz";
  5. private static final String KEY_ID = "id";
  6. private static final String KEY_QUES = "question";
  7. private static final String KEY_ANSWER = "answer";
  8. private static final String KEY_OPTA = "opta";
  9. private static final String KEY_OPTB = "optb";
  10. private static final String KEY_OPTC = "optc";
  11. private static final String KEY_OPTD = "optd";
  12. private static final String q_level = "level";
  13. private static final String QuestionNumber = "q_number";
  14. private SQLiteDatabase dbase;
  15. public String question, optionA, optionB, optionC, optionD, answer;
  16.  
  17. public DbHelper(Context context) {
  18. super(context, DATABASE_NAME, null, DATABASE_VERSION);
  19. }
  20.  
  21. @Override
  22. public void onCreate(SQLiteDatabase db) {
  23. dbase = db;
  24. String sql = "CREATE TABLE IF NOT EXISTS " + TABLE_QUIZ + " ( "
  25. + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_QUES
  26. + " TEXT, " + KEY_ANSWER + " TEXT, " + KEY_OPTA + " TEXT, "
  27. + KEY_OPTB + " TEXT, " + KEY_OPTC + " TEXT, " + KEY_OPTD +" TEXT, " + q_level + " TEXT, " + QuestionNumber + " INTEGER)";
  28. db.execSQL(sql);
  29. db.execSQL("INSERT INTO " + TABLE_QUIZ + "(" + KEY_QUES + ", " + KEY_OPTA + ", " + KEY_OPTB + ", " + KEY_OPTC + ", " + KEY_OPTD + ", " + KEY_ANSWER + ", " + q_level + ", " + QuestionNumber + ")VALUES(" +
  30. "'Q1','A1','A2','A3','A4','Answer','EASY','1')");
  31. db.execSQL("INSERT INTO " + TABLE_QUIZ + "(" + KEY_QUES + ", " + KEY_OPTA + ", " + KEY_OPTB + ", " + KEY_OPTC + ", " + KEY_OPTD + ", " + KEY_ANSWER + ", " + q_level + ", " + QuestionNumber + ")VALUES(" +
  32. "'Q2','A1','A2','A3','A4','Answer','EASY','2')");
  33. db.execSQL("INSERT INTO " + TABLE_QUIZ + "(" + KEY_QUES + ", " + KEY_OPTA + ", " + KEY_OPTB + ", " + KEY_OPTC + ", " + KEY_OPTD + ", " + KEY_ANSWER + ", " + q_level + ", " + QuestionNumber + ")VALUES(" +
  34. "'Q3','A1','A2','A3','A4','Answer','EASY','3')");
  35. db.execSQL("INSERT INTO " + TABLE_QUIZ + "(" + KEY_QUES + ", " + KEY_OPTA + ", " + KEY_OPTB + ", " + KEY_OPTC + ", " + KEY_OPTD + ", " + KEY_ANSWER + ", " + q_level + ", " + QuestionNumber + ")VALUES(" +
  36. "'Q4','A1','A2','A3','A4','Answer','EASY','4')");
  37. db.execSQL("INSERT INTO " + TABLE_QUIZ + "(" + KEY_QUES + ", " + KEY_OPTA + ", " + KEY_OPTB + ", " + KEY_OPTC + ", " + KEY_OPTD + ", " + KEY_ANSWER + ", " + q_level + ", " + QuestionNumber + ")VALUES(" +
  38. "'Q5','A1','A2','A3','A4','Answer','EASY','5')");
  39.  
  40.  
  41.  
  42. db.execSQL("INSERT INTO " + TABLE_QUIZ + "(" + KEY_QUES + ", " + KEY_OPTA + ", " + KEY_OPTB + ", " + KEY_OPTC + ", " + KEY_OPTD + ", " + KEY_ANSWER + ", " + q_level + ", " + QuestionNumber + ")VALUES(" +
  43. "'Q1','A1','A2','A3','A4','Answer','MEDIUM','1')");
  44. db.execSQL("INSERT INTO " + TABLE_QUIZ + "(" + KEY_QUES + ", " + KEY_OPTA + ", " + KEY_OPTB + ", " + KEY_OPTC + ", " + KEY_OPTD + ", " + KEY_ANSWER + ", " + q_level + ", " + QuestionNumber + ")VALUES(" +
  45. "'Q1','A1','A2','A3','A4','Answer','MEDIUM','2')");
  46. db.execSQL("INSERT INTO " + TABLE_QUIZ + "(" + KEY_QUES + ", " + KEY_OPTA + ", " + KEY_OPTB + ", " + KEY_OPTC + ", " + KEY_OPTD + ", " + KEY_ANSWER + ", " + q_level + ", " + QuestionNumber + ")VALUES(" +
  47. "'Q1','A1','A2','A3','A4','Answer','MEDIUM','3')");
  48. db.execSQL("INSERT INTO " + TABLE_QUIZ + "(" + KEY_QUES + ", " + KEY_OPTA + ", " + KEY_OPTB + ", " + KEY_OPTC + ", " + KEY_OPTD + ", " + KEY_ANSWER + ", " + q_level + ", " + QuestionNumber + ")VALUES(" +
  49. "'Q1','A1','A2','A3','A4','Answer','MEDIUM','4')");
  50. db.execSQL("INSERT INTO " + TABLE_QUIZ + "(" + KEY_QUES + ", " + KEY_OPTA + ", " + KEY_OPTB + ", " + KEY_OPTC + ", " + KEY_OPTD + ", " + KEY_ANSWER + ", " + q_level + ", " + QuestionNumber + ")VALUES(" +
  51. "'Q1','A1','A2','A3','A4','Answer','MEDIUM','5')");
  52.  
  53.  
  54. db.execSQL("INSERT INTO " + TABLE_QUIZ + "(" + KEY_QUES + ", " + KEY_OPTA + ", " + KEY_OPTB + ", " + KEY_OPTC + ", " + KEY_OPTD + ", " + KEY_ANSWER + ", " + q_level + ", " + QuestionNumber + ")VALUES(" +
  55. "'Q1','A1','A2','A3','A4','Answer','HARD','1')");
  56. db.execSQL("INSERT INTO " + TABLE_QUIZ + "(" + KEY_QUES + ", " + KEY_OPTA + ", " + KEY_OPTB + ", " + KEY_OPTC + ", " + KEY_OPTD + ", " + KEY_ANSWER + ", " + q_level + ", " + QuestionNumber + ")VALUES(" +
  57. "'Q1','A1','A2','A3','A4','Answer','HARD','2')");
  58. db.execSQL("INSERT INTO " + TABLE_QUIZ + "(" + KEY_QUES + ", " + KEY_OPTA + ", " + KEY_OPTB + ", " + KEY_OPTC + ", " + KEY_OPTD + ", " + KEY_ANSWER + ", " + q_level + ", " + QuestionNumber + ")VALUES(" +
  59. "'Q1','A1','A2','A3','A4','Answer','HARD','3')");
  60. db.execSQL("INSERT INTO " + TABLE_QUIZ + "(" + KEY_QUES + ", " + KEY_OPTA + ", " + KEY_OPTB + ", " + KEY_OPTC + ", " + KEY_OPTD + ", " + KEY_ANSWER + ", " + q_level + ", " + QuestionNumber + ")VALUES(" +
  61. "'Q1','A1','A2','A3','A4','Answer','HARD','4')");
  62. db.execSQL("INSERT INTO " + TABLE_QUIZ + "(" + KEY_QUES + ", " + KEY_OPTA + ", " + KEY_OPTB + ", " + KEY_OPTC + ", " + KEY_OPTD + ", " + KEY_ANSWER + ", " + q_level + ", " + QuestionNumber + ")VALUES(" +
  63. "'Q1','A1','A2','A3','A4','Answer','HARD','5')");
  64. addQuestions();
  65. //db.close();
  66. }
  67.  
  68. private void addQuestions() {
  69.  
  70. }
  71.  
  72. @Override
  73. public void onUpgrade(SQLiteDatabase db, int oldV, int newV) {
  74. db.execSQL("DROP TABLE IF EXISTS " + TABLE_QUIZ);
  75. onCreate(db);
  76. }
  77.  
  78.  
  79.  
  80. public void getQuestByLevel(String level, int qnum) {
  81. String selectQuery = "SELECT * FROM " + TABLE_QUIZ + " WHERE "+ q_level +" = '"+ level +"' ORDER BY RANDOM() LIMIT 5;";
  82.  
  83.  
  84. SQLiteDatabase db = this.getReadableDatabase();
  85.  
  86. Cursor cursor = db.rawQuery(selectQuery, null);
  87. if (cursor.moveToFirst()) {
  88. do {
  89.  
  90. question=cursor.getString(cursor.getColumnIndex(KEY_QUES));
  91. optionA=cursor.getString(cursor.getColumnIndex(KEY_OPTA));
  92. optionB=cursor.getString(cursor.getColumnIndex(KEY_OPTB));
  93. optionC=cursor.getString(cursor.getColumnIndex(KEY_OPTC));
  94. optionD=cursor.getString(cursor.getColumnIndex(KEY_OPTD));
  95. answer=cursor.getString(cursor.getColumnIndex(KEY_ANSWER));
  96.  
  97.  
  98. } while (cursor.moveToNext());
  99.  
  100. }
  101. }
  102.  
  103. public class QuizActivity extends Activity {
  104. int score = 0;
  105. int qnum = 1;
  106. TextView txtQuestion;
  107. RadioButton rda, rdb, rdc, rdd;
  108. Button butNext;
  109. RadioGroup rdgrp;
  110.  
  111. String corAnswer = "";
  112.  
  113. @Override
  114. protected void onCreate(Bundle savedInstanceState) {
  115. super.onCreate(savedInstanceState);
  116. this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
  117. setContentView(R.layout.activity_quiz);
  118. DbHelper db = new DbHelper(this);
  119. rdgrp = (RadioGroup) findViewById(R.id.questionAndAnswers);
  120. txtQuestion = (TextView) findViewById(R.id.textView1);
  121. rda = (RadioButton) findViewById(R.id.radio0);
  122. rdb = (RadioButton) findViewById(R.id.radio1);
  123. rdc = (RadioButton) findViewById(R.id.radio2);
  124. rdd = (RadioButton) findViewById(R.id.radio3);
  125. butNext = (Button) findViewById(R.id.button1);
  126.  
  127.  
  128. corAnswer = "";
  129. onCreateQuestion();
  130. }
  131.  
  132.  
  133.  
  134. @Override
  135. public boolean onCreateOptionsMenu(Menu menu) {
  136. getMenuInflater().inflate(R.menu.activity_quiz, menu);
  137. return true;
  138. }
  139.  
  140.  
  141. public void onCreateQuestion() {
  142. String level = getIntent().getExtras().getString("level");
  143. DbHelper db = new DbHelper(this);
  144. db.getQuestByLevel(level, qnum);
  145.  
  146. txtQuestion.setText(db.question);
  147. rda.setText(db.optionA);
  148. rdb.setText(db.optionB);
  149. rdc.setText(db.optionC);
  150. rdd.setText(db.optionD);
  151. corAnswer = db.answer;
  152.  
  153. qnum++;
  154.  
  155. }
  156.  
  157. public void onClickNext(View view) {
  158. String level = getIntent().getExtras().getString("level");
  159. DbHelper db = new DbHelper(this);
  160. db.getQuestByLevel(level, qnum);
  161.  
  162. RadioGroup grp = (RadioGroup) findViewById(R.id.questionAndAnswers);
  163. RadioButton answer = (RadioButton) findViewById(grp.getCheckedRadioButtonId());
  164. if (answer == null)
  165. {
  166. Toast.makeText(QuizActivity.this, "select an answer please", Toast.LENGTH_SHORT).show();
  167.  
  168.  
  169. return;
  170. }
  171. if (corAnswer!= null && corAnswer.equalsIgnoreCase((String) answer.getText()))
  172. {
  173. score++;
  174. Log.d("answer", "Your score" + score);
  175. }
  176. if (qnum <= 5) {
  177.  
  178.  
  179. } else {
  180. Intent intent = new Intent(QuizActivity.this, ResultActivity.class);
  181. Bundle b = new Bundle();
  182. b.putInt("score", score);
  183. intent.putExtras(b);
  184. startActivity(intent);
  185. finish();
  186. }
  187.  
  188. txtQuestion.setText(db.question);
  189. rda.setText(db.optionA);
  190. rdb.setText(db.optionB);
  191. rdc.setText(db.optionC);
  192. rdd.setText(db.optionD);
  193. corAnswer = db.answer;
  194. qnum++;
  195. rdgrp.clearCheck();
  196. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement