В Android Studio 3.4.1 (я использую Kotlin , но здесь это не имеет никакого значения), я обнаружил очень странное поведение.
Например:
Cursor c = db.rawQuery("Select IDH, ID, NOME, CONTEUDO from CalcHome
Inner Join Calcs using(id)", null)
Имена столбцов регистрировались жестко, независимо от регистра имен полей в Select.Компонент массива c.columnNames[0]
равен Idh
, а не IDH
Итак
int a = c.getInt(c.getColumnIndex("IDH")) // gives a runtime error.
Но
int a = c.getInt(c.getColumnIndex("Idh")) // works!