я учусь работать с базой данных sqlite, и я попытался внедрить систему рекордов в мою игру. чтение строк работает, когда я пытаюсь показать результаты, но когда я пытаюсь использовать ту же идею для чтения значений, чтобы сравнить их в следующем методе - это дает ошибку исключения нулевого указателя.
private void checkIfHighScore(int currentScore) {
Cursor note;
int rowScore;
String moveName, moveScore, newName;
for (long i=1;i<6;i++){
note = mDbHelper.fetchNote(i);
startManagingCursor(note);
rowScore=Integer.parseInt(note.getString(note.getColumnIndexOrThrow(ScoresDbAdapter.KEY_BODY)));
if (currentScore<rowScore){
for (long j=5;j>i;j--){
note = mDbHelper.fetchNote(j-1);
startManagingCursor(note);
moveName=note.getString(note.getColumnIndexOrThrow(ScoresDbAdapter.KEY_TITLE));
moveScore=note.getString(note.getColumnIndexOrThrow(ScoresDbAdapter.KEY_BODY));
mDbHelper.updateNote(j, moveName, moveScore);
}
newName="a"; //for testing
mDbHelper.updateNote(i, newName, Integer.toString(currentScore));
break;
}
}
}
Я знаю, что ошибка находится в строке после цикла for, но я понятия не имею, что вызывает его сбой. моя база данных имеет 5 строк данных (проверено).
Кто-нибудь знает, что является причиной моей ошибки? 2 часа бился головой об стену. спасибо!