Autore Topic: Lavorare su Oggetto ResultSet o Cursor  (Letto 327 volte)

Offline tonno16

  • Utente storico
  • *****
  • Post: 1186
  • Respect: +57
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Lavorare su Oggetto ResultSet o Cursor
« il: 13 Maggio 2014, 18:21:37 CEST »
0
Salve a tutti. Ho la necessità di fare operazioni sql mediante query. Uso jbcd. Non ho problemi in questo.

Ho la mia activity. Nella stessa activity creo una classe che estende AsynkThread.
Nel onPostExecute() aggiorno una listView.

Tutto funziona ma ci sono dei "problemi":
-cosi facendo posso creare un solo asynkThread per ogni activity.
- di per se il Thread non ritorna niente. Ho visto la funziona get() ma la eviterei dato che lavora sul thread principale.

Vorrei poter avere una classe esterna a tutto che estenda sempre AsynkThread, la quale prende in input una stringa (la mia query).
C'è un modo per fare il parsering su un oggetto di tipo ResultSet?
Oppure creare un Cursor sovradimensionato a partire da un resultSet?



Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Lavorare su Oggetto ResultSet o Cursor
« Risposta #1 il: 13 Maggio 2014, 19:07:38 CEST »
0
Tutto funziona ma ci sono dei "problemi":
-cosi facendo posso creare un solo asynkThread per ogni activity.
- di per se il Thread non ritorna niente. Ho visto la funziona get() ma la eviterei dato che lavora sul thread principale.

In realtà puoi avviare quanti AsyncTask (intendi questi vero?) vuoi da una activity, non c'è un limite. Di default sono eseguiti serialmente, ma volendo puoi anche impostare l'esecuzione in parallelo.

Il fatto che il Thread non ritorni niente è per definizione di Thread, che non dovendo essere bloccante, viene avviato ed ha vita propria. Quando ha terminato può comunicare con il main thread originario tramite messaggi (thread-safe ma meno efficiente) o tramite dati condivisi (più veloce, ma c'è da gestire la sincronizzazione degli accessi). L'AsyncTask ha il metodo onPostExecute che in pratica gestisce a solo l'esecuzione di codice all'interno del main-thread.

Vorrei poter avere una classe esterna a tutto che estenda sempre AsynkThread, la quale prende in input una stringa (la mia query).

Immagino tu voglia dire che vuoi una classe in cui viene avviato un AsyncTask per eseguire operazioni sul database e poi comunichi il risultato. Beh, si può fare tranquillamente.

C'è un modo per fare il parsering su un oggetto di tipo ResultSet?
Oppure creare un Cursor sovradimensionato a partire da un resultSet?

Queste domande non le ho capite.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline tonno16

  • Utente storico
  • *****
  • Post: 1186
  • Respect: +57
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Lavorare su Oggetto ResultSet o Cursor
« Risposta #2 il: 21 Maggio 2014, 19:03:51 CEST »
0
Ringrazio tutti per la risposta. Ho risolto in parte i miei problemi....ovvero ho definito più AsinkTask per ogni Activity.
A fine realizzazione del progetto vedrò se creare una classe a parte e magari fare l'Override di doInBackground.

Grazie mille comunque