Количество запросов курсора Android - PullRequest
3 голосов
/ 08 июня 2011

Я разрабатываю небольшое приложение, которое считывает данные из базы данных и отображает их в нескольких пользовательских макетах списка.

Я собрал всех своих уток подряд, но у меня есть одна проблема, из-за которой я не могу сосредоточиться на мысли о предварительном подсчете в запросе курсора

Вот простой пример моего кода

private static final String fields[] = { "CarYear","CarMake","CarModel","CarInfo", BaseColumns._ID }; //BaseColumns._ID

и сам запрос

                Cursor data = database.query("Car060", fields, null, null, null, null,null);

Таким образом, большой вопрос заключается в том, как я могу либо предварительно подсчитать общее количество на одного производителя, либо просто общее количество.

Спасибо за любую помощь

Завершено с использованием RawQuery

Количество курсоров = database.rawQuery («ВЫБЕРИТЕ СЧЕТЧИК (РАЗЛИЧНЫЕ люди) как NumberOfPeople FROM WhatEverDB», ноль);

Ответы [ 2 ]

13 голосов
/ 08 июня 2011

Вы можете использовать Cursor.getCount () , чтобы получить общее количество строк, возвращаемых курсором.

Для подсчета отдельных «создателей» вы можете либо выполнить итерацию курсора, и подсчитать их самостоятельно, либо использовать другой запрос, чтобы выдать COUNT SQL на сервер и получить отсюда отсчеты.

Поскольку вы уже извлекаете эти данные для использования в ListView, я бы предположил , что первое более эффективно.

0 голосов
/ 08 июня 2011

Очевидным решением будет использование запроса, который группируется по производителю.

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