我已经开始为Android开发一个测验应用程序(多项和单项选择)。 我选择SqliteAssetHelper库的原因是,我想要一个预先填充的数据库。 我创建了一个带有2个表的问题数据库(问题和答案)。
在我的数据库类中使用以下方法我得到了问题项:
public Cursor getQuestionItems() {
SQLiteDatabase db = getReadableDatabase();
SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
qb.setTables(TABLES.QUESTION);
Cursor questionCursor = qb.query(db, null, null, null, null, null, null);
return questionCursor;
}
在主类中(在onCreate中)我正在创建问题对象并将它们添加到arraylist中:
Cursor questionCursor = db.getQuestionItems();
while (questionCursor.moveToNext()) {
Question question = new Question();
question.setId(
questionCursor.getString(questionCursor.getColumnIndexOrThrow(MyDatabase.QuestionColumns.ID)));
question.setQuestiontext(questionCursor
.getString(questionCursor.getColumnIndexOrThrow(MyDatabase.QuestionColumns.QUESTIONTEXT)));
question.setQuestiontype(questionCursor
.getInt(questionCursor.getColumnIndexOrThrow(MyDatabase.QuestionColumns.QUESTIONTYPE)));
questionList.add(question);
}
questionCursor.close();
我也在为答案项目做同样的事情。现在我想显示一个带有问题的视图和可能的答案(例如4个答案)。如果用户点击“下一步”按钮,则应显示带有答案的下一个问题。
如何有效地实现这一目标?是否有必要创建问题和答案项目?我不确定这是不是正确的方法。
提前致谢!
答案 0 :(得分:0)
要遵循数据库规则,我们应该这样做。一个问题表,一个表根据您提供的结构找到答案。它是更好的方法,因为您将遵循数据库规则,并且不会有还原数据。但是在显示答案时,请显示正确问题ID的数据。