Заполнить просмотр списка из базы данных - PullRequest
1 голос
/ 06 декабря 2010

Эй, ребята, я в настоящее время могу получить данные из базы данных в таблицу, но я застрял с просмотра списка. мой код для получения всех данных:

public ArrayList<Object> getRowAsArray(long rowID)
{
    // create an array list to store data from the database row.
    // I would recommend creating a JavaBean compliant object 
    // to store this data instead.  That way you can ensure
    // data types are correct.
    ArrayList<Object> rowArray = new ArrayList<Object>();
    Cursor cursor;

    try
    {
        // this is a database call that creates a "cursor" object.
        // the cursor object store the information collected from the
        // database and is used to iterate through the data.
        cursor = db.query
        (
                TABLE_NAME,
                new String[] { TABLE_ROW_ID, TABLE_ROW_ONE, TABLE_ROW_TWO, TABLE_ROW_THREE, TABLE_ROW_FOUR, TABLE_ROW_FIVE, TABLE_ROW_SIX, TABLE_ROW_SEVEN },
                TABLE_ROW_ID + "=" + rowID,
                null, null, null, null, null
        );

        // move the pointer to position zero in the cursor.
        cursor.moveToFirst();

        // if there is data available after the cursor's pointer, add
        // it to the ArrayList that will be returned by the method.
        if (!cursor.isAfterLast())
        {
            do
            {
                rowArray.add(cursor.getLong(0));
                rowArray.add(cursor.getString(1));
                rowArray.add(cursor.getString(2));
                rowArray.add(cursor.getString(3));
                rowArray.add(cursor.getString(4));
                rowArray.add(cursor.getString(5));
                rowArray.add(cursor.getString(6));
                rowArray.add(cursor.getString(7));
            }
            while (cursor.moveToNext());
        }

        // let java know that you are through with the cursor.
        cursor.close();
    }
    catch (SQLException e) 
    {
        Log.e("DB ERROR", e.toString());
        e.printStackTrace();
    }

    // return the ArrayList containing the given row from the database.
    return rowArray;
}

как бы я заполнил это в виде списка, пожалуйста. любая помощь приветствуется

1 Ответ

2 голосов
/ 06 декабря 2010

Это намного проще - вам даже не нужно создавать список массивов.

«Адаптер» - это ключ - адаптер - это интерфейс между списком и вашими данными. В вашем случае вы хотите SimpleCursorAdapter. Есть примеры для этого в Api Demos. Проверьте это.

Вы просто передаете ему курсор вашего запроса, и он автоматически заполнит ваш список с данными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...