2010-09-16 8 views
6

Używam obiektu ContentProvider do buforowania wyników z kwerendy usług sieci Web. Jest to żądanie HTTP, a treść odpowiedzi to XML. Większość danych jest zapisywana w pamięci podręcznej, więc po prostu wyszukuję DB, jeśli nie zostanie znaleziony, żądanie od webservice, wstaw do DB i zażądaj DB. Tak więc odpowiedzią jest zawsze kursor z SQLiteDatabaseHelper.Czy można kpić z kursora sqlite3 w systemie Android, gdy nie istnieje baza danych ani tabela?

Mam jeden zestaw wyników, który nie jest przechowywany w DB i ponieważ jest on w 100% przejściowy, ale chciałbym przedstawić jego wygląd pochodzący z kursora DB. Czy istnieje prosty sposób na zrobienie tego? Na przykład, jeśli mógłbym rzutować go na kursor za pomocą cursor.setValue ("string", objectValue) lub innej istniejącej implementacji.

Jeśli nie, to albo pomijam DB dla tego wyniku zawartości, albo umieszczam go w trywialnej tabeli, która jest stale używana ponownie.

+0

To jest trywialne, aby drwić z czegokolwiek. "Nazywasz siebie kursorem?" Moja babcia jest lepszym kursorem! " : D –

Odpowiedz

10

W zależności od tego, jak go używasz, napisanie własnej klasy kursora może nie być zbyt trudne. Dla wygody wyprowadź swoją klasę z klasy AbstractCursor, która zajmie się dla Ciebie wieloma szczegółami.

Możesz także skorzystać z MatrixCursor.

+0

+1 za wskazanie MatrixCursor. – bhups

+0

Zanim utworzę własną subklasę, wypróbuję MatrixCursor - czyli jedną z pośrednich podklas, których nie próbowałem. – mobibob

+0

MatrixCursor był DOKŁADNIE tym, czego szukałem. Wdrożenie miało około pół tuzina linii kodu. Napisałem obiekt z interfejsem kursora i była to nędzna praca i wiele debugowania metod dla jednorazowego użycia. Powrócę do podklasowania w przyszłości, kiedy myślę, że będę ponownie używał wielu projektów (lub innych programistów). – mobibob

Powiązane problemy