Можно ли издеваться над курсором sqlite3 в Android, когда нет базы данных или таблицы? - PullRequest
6 голосов
/ 16 сентября 2010

Я использую ContentProvider для кэширования результатов запроса веб-службы. Это HTTP-запрос, а содержимое ответа - XML. Большая часть данных кэшируется, поэтому я просто запрашиваю БД, если не нашел, запрашиваю у веб-службы, вставляю в БД и запрашиваю БД. Таким образом, ответ всегда является курсором из SQLiteDatabaseHelper.

У меня есть один результирующий набор, который не хранится в БД, и поскольку он является переходным на 100%, но я хотел бы обеспечить его появление из Курсора БД. Есть простой способ сделать это? Например, если бы я мог спроецировать его на курсор с помощью cursor.setValue («string», objectValue) или какой-либо другой существующей реализацией.

Если нет, я либо пропущу БД для этого результата содержимого, либо запишу его в тривиальную таблицу, которая постоянно используется повторно.

1 Ответ

10 голосов
/ 16 сентября 2010

В зависимости от того, как вы его используете, может быть не сложно написать свой собственный класс курсора. Для удобства извлеките свой класс из класса AbstractCursor, который позаботится о многих деталях для вас.

Вы также можете использовать MatrixCursor .

...