vendredi 24 avril 2015

Generating random output from SQLite Database

Hi I currently have a database that has 5 questions and answers stored in it. I want to randomly output three of the questions each time the app runs. I have the below code but my app crashes when it loads

public List<Question> getAllQuestions() {
        List<Question> quesList = new ArrayList<Question>();
        int nQuestions = 3; //select COUNT(*) from questions

        Random random = new Random();
        int id = random.nextInt(nQuestions);

        String selectQuery = "SELECT  id FROM " + TABLE_QUEST;
        dbase=this.getReadableDatabase();
        Cursor cursor = dbase.rawQuery(selectQuery, null);
        // looping through all rows and adding to list
        if (cursor.moveToFirst()) {
            do {
                Question quest = new Question();
                quest.setID(cursor.getInt(0));
                quest.setQUESTION(cursor.getString(1));
                quest.setANSWER(cursor.getString(2));
                quest.setOPTA(cursor.getString(3));
                quest.setOPTB(cursor.getString(4));
                quest.setOPTC(cursor.getString(5));
                quesList.add(quest);
            } while (cursor.moveToNext());{
                 id = random.nextInt(nQuestions);
            }
        }
        // return quest list
        return quesList;
    }

Aucun commentaire:

Enregistrer un commentaire