Возвращенный курсор (например, как из rawQuery) не будет иметь значение null, проверка на null бесполезна и, как показано в этом случае, опасна.
Скорее вы должны проверить методы Cursor move???
, чтобы увидеть, возвращают ли они true.
Фактическая проблема заключается в том, что вы пытаетесь получить данные для 5-й строки (индекс 4), когда имеется только 4 строки (размер), поскольку проверка для != null
всегда будет истинной, поэтомуцикл продолжается после 4-й строки.
Таким образом, ваш код может быть: -
public void getir(View view)
{
cursor = myData.rawQuery("SELECT * FROM kolonVeri", null);
int gunIx = cursor.getColumnIndex("gun");
int vtarihIx = cursor.getColumnIndex("vTarih");
while (cursor.moveToNext()) {
System.out.println("VARDİYA: " + cursor.getString(gunIx));
System.out.println("TARİH: " + cursor.getString(vtarihIx));
}
}