Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Question {
- private String question;
- private String option1;
- private String option2;
- private String option3;
- private int answerNr;
- public Question(){}
- public Question(String question, String option1, String option2, String option3, int answerNr) {
- this.question = question;
- this.option1 = option1;
- this.option2 = option2;
- this.option3 = option3;
- this.answerNr = answerNr;
- }
- public String getQuestion() {
- return question;
- }
- public void setQuestion(String question) {
- this.question = question;
- }
- public String getOption1() {
- return option1;
- }
- public void setOption1(String option1) {
- this.option1 = option1;
- }
- public String getOption2() {
- return option2;
- }
- public void setOption2(String option2) {
- this.option2 = option2;
- }
- public String getOption3() {
- return option3;
- }
- public void setOption3(String option3) {
- this.option3 = option3;
- }
- public int getAnswerNr() {
- return answerNr;
- }
- public void setAnswerNr(int answerNr) {
- this.answerNr = answerNr;
- }
- }
- public QuizDbHelper(Context context) {
- super(context, DATABASE_NAME, null, DATABASE_VERSION);
- }
- @Override
- public void onCreate(SQLiteDatabase db) {
- this.db = db;
- final String SQL_CREATE_QUESTIONS_TABLE = "CREATE TABLE " +
- QuestionsTable.TABLE_NAME + " ( " +
- QuestionsTable._ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
- QuestionsTable.COLUMN_QUESTION + " TEXT, " +
- QuestionsTable.COLUMN_OPTION1 + " TEXT, " +
- QuestionsTable.COLUMN_OPTION2 + " TEXT, " +
- QuestionsTable.COLUMN_OPTION3 + " TEXT, " +
- QuestionsTable.COLUMN_ANSWER_NR + " INTEGER" +
- ")";
- db.execSQL(SQL_CREATE_QUESTIONS_TABLE);
- fillQuestionsTable();
- }
- @Override
- public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
- db.execSQL("DROP TABLE IF EXISTS " + QuestionsTable.TABLE_NAME);
- onCreate(db);
- }
- private void fillQuestionsTable(){
- Question q1 = new Question("How often do blackbeard mains deserve the kill?", "Always", "Sometimes", "Never", 3);
- addQuestion(q1);
- Question q2 = new Question("How fast is Ash?", "3 speed", "9 speed", "2 speed", 1);
- addQuestion(q2);
- Question q3 = new Question("How thicc is Rook?", "2 armor", "3 armor", "9 armor", 2);
- addQuestion(q3);
- }
- private void addQuestion(Question question){
- ContentValues cv = new ContentValues();
- cv.put(QuestionsTable.COLUMN_QUESTION, question.getQuestion());
- cv.put(QuestionsTable.COLUMN_OPTION1, question.getOption1());
- cv.put(QuestionsTable.COLUMN_OPTION2, question.getOption2());
- cv.put(QuestionsTable.COLUMN_OPTION3, question.getOption3());
- cv.put(QuestionsTable.COLUMN_ANSWER_NR, question.getAnswerNr());
- db.insert(QuestionsTable.TABLE_NAME, null, cv);
- }
- public List<Question> getAllQuestions() {
- List<Question> questionList = new ArrayList<>();
- db = getReadableDatabase();
- Cursor c = db.rawQuery("SELECT * FROM " + QuestionsTable.TABLE_NAME, null);
- if (c.moveToFirst()) {
- do {
- Question question = new Question();
- question.setQuestion(c.getString(c.getColumnIndex(QuestionsTable.COLUMN_QUESTION)));
- question.setOption1(c.getString(c.getColumnIndex(QuestionsTable.COLUMN_OPTION1)));
- question.setOption2(c.getString(c.getColumnIndex(QuestionsTable.COLUMN_OPTION2)));
- question.setOption3(c.getString(c.getColumnIndex(QuestionsTable.COLUMN_OPTION3)));
- question.setAnswerNr(c.getInt(c.getColumnIndex(QuestionsTable.COLUMN_ANSWER_NR)));
- questionList.add(question);
- } while (c.moveToNext());
- }
- c.close();
- return questionList;
- }
- }
- public class QuizActivity extends AppCompatActivity {
- private TextView textViewQuestion;
- private TextView textViewScore;
- private TextView textViewQuestionCount;
- private TextView textViewTimer;
- private RadioGroup rbGroup;
- private RadioButton rb1;
- private RadioButton rb2;
- private RadioButton rb3;
- private Button buttonConfirmNext;
- private ColorStateList textColorDefaultRb;
- private List<Question> questionList;
- private int questionCounter;
- private int questionCountTotal;
- private Question currentQuestion;
- private int score;
- private boolean answered;
- private long backPressedTime;
- RadioGroup answers;
- RadioButton radioButton;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_quiz);
- textViewQuestion = findViewById(R.id.question);
- textViewScore = findViewById(R.id.score);
- textViewQuestionCount = findViewById(R.id.question_num);
- textViewTimer = findViewById(R.id.timer);
- rbGroup = findViewById(R.id.answers);
- rb1 = findViewById(R.id.option_1);
- rb2 = findViewById(R.id.option_2);
- rb3 = findViewById(R.id.option_3);
- buttonConfirmNext = findViewById(R.id.confirm);
- textColorDefaultRb = rb1.getTextColors();
- QuizDbHelper dbHelper = new QuizDbHelper(this);
- questionList = dbHelper.getAllQuestions();
- questionCountTotal = questionList.size();
- Collections.shuffle(questionList);
- showNextQuestion();
- ...
- ...
- ...
- ...
- ...
- private void showNextQuestion(){
- rb1.setTextColor(textColorDefaultRb);
- rb2.setTextColor(textColorDefaultRb);
- rb3.setTextColor(textColorDefaultRb);
- rbGroup.clearCheck();
- if (questionCounter < questionCountTotal){
- currentQuestion = questionList.get(questionCounter);
- textViewQuestion.setText(currentQuestion.getQuestion());
- rb1.setText(currentQuestion.getOption1());
- rb2.setText(currentQuestion.getOption2());
- rb3.setText(currentQuestion.getOption3());
- questionCounter++;
- textViewQuestionCount.setText("Question: " + questionCounter + "/" + questionCountTotal);
- answered = false;
- buttonConfirmNext.setText("Confirm");
- }
- else {
- finishQuiz();
- }
- }
- private QuizContract() {}
- public static class QuestionsTable implements BaseColumns {
- public static final String TABLE_NAME = "quiz_questions";
- public static final String COLUMN_QUESTION = "question";
- public static final String COLUMN_OPTION1 = "option1";
- public static final String COLUMN_OPTION2 = "option2";
- public static final String COLUMN_OPTION3 = "option3";
- public static final String COLUMN_ANSWER_NR = "answer_nr";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement