を使用して効率的な方法は、私は自分のアプリケーションでSQLiteのデータベースを実装していると私はAndroidのカーソルを使用しています。私はデータベースクラスを作成しました。データベース名、テーブル名、カラム名を指定します。ここで私はまた、次のように、様々な方法があります:アンドロイド - データベースカーソル
public Cursor getCorrectQuestions(int topic) {
SQLiteDatabase db = getReadableDatabase();
Cursor questionCursor = db.rawQuery(
"Select * FROM Result, Question WHERE Result.qid = Question._id AND correct = 1 AND topic = " + topic,
null);
questionCursor.moveToFirst();
return questionCursor;
}
public Cursor getExamQuestions() {
SQLiteDatabase db = getReadableDatabase();
Cursor questionCursor = db.rawQuery("Select * FROM Question WHERE topic = 7", null);
questionCursor.moveToFirst();
return questionCursor;
}
public Cursor getAnswerItems(String id) {
SQLiteDatabase db = getReadableDatabase();
Cursor answerCursor = db.rawQuery(
"Select * FROM Answer, Question WHERE Question._id = " + id + " AND Question._id = Answer.qid", null);
answerCursor.moveToFirst();
return answerCursor;
}
public Cursor getUserResults(String qid) {
SQLiteDatabase db = getReadableDatabase();
Cursor userResultsCursor = db.rawQuery("SELECT result FROM Result, Answer WHERE Result.qid = " + qid, null);
userResultsCursor.moveToFirst();
return userResultsCursor;
}
を3つのカーソル(answerCursor、questionCursor、userResultCursor)私はこれらのメソッドを呼び出していQuizActivityで。 私の質問は:それはあらゆる方法でSQLiteDatabaseオブジェクトを作成する必要があるか、それは私のデータベースのコンストラクタで一度これを定義することは可能でしょうか?私の活動では3つの異なるカーソルが必要ですか、これを処理するにはより良い方法がありますか?あなたが書かれている方法を想定し