当试图运行我的应用程序时,我得到了这个错误,我不知道出了什么问题。我得到一个光标超出范围的异常。
堆栈跟踪:
02-26 12:33:56.870: D/AndroidRuntime(1012): Shutting down VM
02-26 12:33:56.870: W/dalvikvm(1012): threadid=1: thread exiting with uncaught exception (group=0x41452930)
02-26 12:33:56.870: E/AndroidRuntime(1012): FATAL EXCEPTION: main
02-26 12:33:56.870: E/AndroidRuntime(1012): java.lang.RuntimeException: Unable to create application com.example.myassistantcoach.AnotherHelper: android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
这是我的代码
private void readBowlingScoresFromDB() {
// TODO Auto-generated method stub
allBowlingScores = new ArrayList<BowlingScores>();
Cursor bowlingScoresCursor;
bowlingScoresCursor = bowlingScoresDB.query(BOWLING_SCORES_TABLE,
new String[] { RECORD_ID, DATE, GAME1, GAME2, GAME3 }, null,
null, null, null, DATE);
bowlingScoresCursor.moveToFirst();
BowlingScores tempBS;
if (!bowlingScoresCursor.isAfterLast()) {
do {
long id = bowlingScoresCursor.getLong(0);
long dateEpoch = bowlingScoresCursor.getLong(1);
int game1 = bowlingScoresCursor.getInt(2);
int game2 = bowlingScoresCursor.getInt(3);
int game3 = bowlingScoresCursor.getInt(4);
tempBS = new BowlingScores(id, dateEpoch, game1, game2, game3);
allBowlingScores.add(tempBS);
} while (bowlingScoresCursor.moveToNext());
bowlingScoresCursor.close();
}
}
public void addBowlingScores(BowlingScores bowlingScores) {
assert bowlingScores != null;
ContentValues cv = new ContentValues();
cv.put(BowlingScoresDatabaseHelper.DATE, bowlingScores.getDateEpoch()); // USE
// EPOCH
cv.put(BowlingScoresDatabaseHelper.GAME1, bowlingScores.getGame1());
cv.put(BowlingScoresDatabaseHelper.GAME2, bowlingScores.getGame2());
cv.put(BowlingScoresDatabaseHelper.GAME3, bowlingScores.getGame3());
Log.d("Bowling Database", "Before Inserting a record" + bowlingScores);
long idPassedBack = bowlingScoresDB.insert(
BowlingScoresDatabaseHelper.BOWLING_SCORES_TABLE, null, cv);
bowlingScores.setId(idPassedBack);
allBowlingScores.add(bowlingScores);
}