Как использовать класс SQLiteCursor в Android? - PullRequest
1 голос
/ 18 января 2012

Я бы хотел использовать класс SQLiteCursor для извлечения данных (не используя класс Cursor).Это потому, что мне нужен доступ к таким методам, как isBoolean или isInteger и так далее.Они унаследованы от AbstractWindowedCursor и реализованы этим классом, что не относится к Cursor.

Я пишу против API 7 и не могу переключиться на API 11 или выше для использования метода getType (это не мой проект иэто требования).

Проблема в том, что я не могу создать экземпляр этого класса, как обычный курсор.Как это сделать?Я пытался разыграть его:

SQLiteCursor cursor = (SQLiteCursor)mDbHelper.getWritableDatabase().rawQuery(query,null);

, но все, что я получаю, это ClassCastException.Документация заявляет, что SQLiteCursor является «реализацией Cursor, которая предоставляет результаты из запроса к базе данных SQLite».Так как же получить его, если все методы SQLiteDatabases rawQuery и query возвращают Cursor, который не может быть приведен?

Мне действительно нужно каким-то образом получить тип данных в столбцах, поэтому я знаю, как их приводить (я никогдааприори их знаю, потому что все таблицы очень общие).Есть ли простой способ добраться до этих методов или я должен обойти это?

Спасибо за любые предложения, Каджман

1 Ответ

0 голосов
/ 18 января 2012

Попробуйте использовать как показано ниже

 SQLiteDatabase myDB = this.openOrCreateDatabase("dbname", SQLiteDatabase.OPEN_READWRITE, null);
Cursor c = myDB.rawQuery("select Name from contacts ", null); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...