Как извлечь данные из SQLite в массив

У меня имеется бд из которой мне нужно извлечь мои элементы в String List или ArrayList массив и желательно не в виде двумерного массива. Возможно ли это? Извиняюсь, если вопрос слишком глупый c SQLite работать почти не приходилось.


Ответы (1 шт):

Автор решения: Circassian
public List<MyObject> getList() {

    List<MyObject> list = new ArrayList<>();

    Cursor c = getCursor("SELECT * FROM " + TABLE_NAME);

    int keyIndex = getindex(c, KEY_ID);
    int titleIndex = getindex(c, ITEM_TITLE);
    int imageIndex = getindex(c, ITEM_IMAGE);
    int streamIndex = getindex(c, ITEM_STREAM);
    int statusIndex = getindex(c, STATUS);

    if (c.moveToFirst()) {
        do {
            list.add(
                MyObject(
                    c.getString(keyIndex),
                    c.getString(titleIndex),
                    c.getString(imageIndex),
                    c.getString(streamIndex),
                    c.getString(statusIndex)
                )
            );
        } while (c.moveToNext());
    }
    c.close();
    return list;
}

class MyObject {

    String keyId;
    String itemTitle;
    String itemImage;
    String itemStream;
    String status;

    public MyObject (String keyId, String itemTitle, String itemImage, String itemStream, String status) {
        this.keyId = keyId;
        this.itemTitle = itemTitle;
        this.itemImage =itemImage;
        this.itemStream = itemStream;
        this.status = status;
    }
}
→ Ссылка