作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建一个测验应用程序,我想从数据库中的 100 个问题中随机检索 10 个问题。
这是我从数据库中检索问题的代码
QuizDbHelper dbHelper = new QuizDbHelper(this);
questionList = dbHelper.getQuestions(difficulty);
questionCountTotal = questionList.size();
Collections.shuffle(questionList);
QuizDbHelper 类的 getQuestions 方法:
public ArrayList<Question> getQuestions(String difficulty) {
ArrayList<Question> questionList = new ArrayList<>();
db = getReadableDatabase();
String[] selectionArgs=new String[]{difficulty};
Cursor c = db.rawQuery("SELECT * FROM " + QuestionsTable.TABLE_NAME+ " WHERE " +QuestionsTable.COLUMN_DIFFICULTY+"= ?", selectionArgs);
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.setOption4(c.getString(c.getColumnIndex(QuestionsTable.COLUMN_OPTION4)));
question.setAnswerNr(c.getInt(c.getColumnIndex(QuestionsTable.COLUMN_ANSWER_NR)));
question.setDifficulty(c.getString(c.getColumnIndex(QuestionsTable.COLUMN_DIFFICULTY)));
questionList.add(question);
} while (c.moveToNext());
}
c.close();
return questionList;
}
当我运行它时,所有 100 个问题都出现了任何人都可以更好地修复它..
最佳答案
首先从问题数组列表中的数据库中检索所有问题
然后洗牌你的arraylist。
Collections.shuffle(questionList);
并子列表到 10 个赞
questionList.subList(0,10)
关于java - 如何从sqlite中随机访问问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58081865/
我是一名优秀的程序员,十分优秀!