Autore Topic: Modalita' corretta per visualizzare dati provenienti da Sqlite  (Letto 1021 volte)

Offline cdiscla

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • crisdisclafani
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus Life - Android Froyo
  • Sistema operativo:
    Mac OS 10.6
Modalita' corretta per visualizzare dati provenienti da Sqlite
« il: 12 Aprile 2011, 12:16:55 CEST »
0
Ciao a tutti,
ho una app che interroga un db sqlite; ho creato una class che estende la SQLiteOpenHelper con metodi getXYZ() che restituiscono Cursor che passo a un SimpleCursorAdapter in modo da visualizzare il risultato in ListViews; ho pero' dubbi e perplessita' su dove chiudere Cursori e db; tra l'altro ho letto da qualche parte che sarebbe opportuno non restituire direttamente Cursori ma inserire i risultati in classi intermedie e visualizzare questi, ma non so come poter fare una cosa simile.
Qualcuno ha esempi e/o puo' darmi una mano?
Grazie, ciao !  ;-)
c.

Offline dessorry

  • Utente normale
  • ***
  • Post: 230
  • Who lived hoping died craping
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire HD
  • Play Store ID:
    dessorry
  • Sistema operativo:
    Windows, Ubuntu, Kubuntu
Re:Modalita' corretta per visualizzare dati provenienti da Sqlite
« Risposta #1 il: 13 Aprile 2011, 01:10:28 CEST »
0
quella di non restituire cursori è sicuramente la soluzione migliore.
fai un classe che interroga il db, lei ottiene il cursore
ok le stessa classe che interroga prende il cursore lo scorre e inserisce i dati in un altra classe, mi spiego meglio
hai un db fatto di calciatori
nome squadra gol
interroghi il db prendendoli tutti (ottieni un curosore)
scorri il cursore e costruisci un arraylist fatto di oggetti calciatore
dove l'oggetto calciatore ha come attributi le colonne della tabella

Offline cdiscla

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • crisdisclafani
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus Life - Android Froyo
  • Sistema operativo:
    Mac OS 10.6
Re:Modalita' corretta per visualizzare dati provenienti da Sqlite
« Risposta #2 il: 13 Aprile 2011, 09:34:18 CEST »
0
...... scorri il cursore e costruisci un arraylist fatto di oggetti calciatore
dove l'oggetto calciatore ha come attributi le colonne della tabella
Quindi per visualizzare i dati passo questo arrayList all'adapter, corretto?

Grazie !
Ciao  ;-)
c.

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Modalita' corretta per visualizzare dati provenienti da Sqlite
« Risposta #3 il: 13 Aprile 2011, 11:33:29 CEST »
0
tra l'altro ho letto da qualche parte che sarebbe opportuno non restituire direttamente Cursori ma inserire i risultati in classi intermedie e visualizzare questi

Dove hai letto una cosa simile? Non chiedo per smentirlo ma solo perche' effettivamente mi piacerebbe capire meglio :)
Comunque creare delle strutture dati e popolarle con i dati sicuramente e' piu' pulito e relativamente piu' semplice da gestire per i motivi che hai detto (chiusura db e cursor) ma puo' creare un overhead non indifferente se devi crearne di molto grandi (ad esempio creare un ArrayList con dentro centinaia di elementi).

Offline cdiscla

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • crisdisclafani
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus Life - Android Froyo
  • Sistema operativo:
    Mac OS 10.6
Re:Modalita' corretta per visualizzare dati provenienti da Sqlite
« Risposta #4 il: 13 Aprile 2011, 11:37:51 CEST »
0
Ciao
avevo fatto una domanda simile su Stackoverflow e una delle risposte suggeriva di evitare la restituzione del cursor: Querying Sqlite in Android - Stack Overflow