У меня есть курсор, который читает базу данных SQLite и получает много столбцов, я храню эти столбцы во многих массивах
private ArrayList<String> column1,column2,column3,column4, ... column n;
public getCursorData(Cursor cursor){
if(cursor.moveToFirst()){
do{
column1.add(Cursor.getString("column1"));
column2.add(Cursor.getString("column2"));
column3.add(Cursor.getString("column3"));
column4.add(Cursor.getString("column4"));
...
columnn.add(Cursor.getString("columnN"));
}while(cursor.moveToNext());
}
}
Я ищу способ сохранить их в одном объекте (или массиве, или списке, или что-то), но я не могу понять, как это сделать
private Object[] object;
public getCursorData(Cursor cursor){
if(cursor.moveToFirst()){
int i=0;
do{
for(int f=0;f<cursor.getColumnCount();f++){
object[i].put(cursor.getColumnName(i), cursor.getString(i)); // I don't know what I am doing!
}
i++;
}while(cursor.moveToNext());
}
}
Другая попытка использования массивов, где каждый столбец представляет собой целое число.
private String[][] data;
public getCursorData(Cursor cursor){
if(cursor.moveToFirst()){
int i=0;
do{
for(int f=0;f<cursor.getColumnCount();f++){
data[i][f]=cursor.getString(f); // this is line 30
}
i++;
}while(cursor.moveToNext());
}
}
Эта последняя попытка завершается с ошибкой: в строке 30 появляется следующая ошибка java.lang.NullPointerException: Attempt to read from null array
(я пометил эту строку в комментарии к коду)