Autore Topic: consiglio su gestione del db...  (Letto 364 volte)

Offline Trigun

  • Utente normale
  • ***
  • Post: 183
  • Respect: +4
    • Mostra profilo
consiglio su gestione del db...
« il: 04 Aprile 2013, 17:14:09 CEST »
0
salve,
ho un programma che ho creato che usa un db...
ora per come ho programmato la gestione del db ho fatto in modo che il db venga aperto a inizio applicazione e rimanga aperto per tutto il tempo (chiuso solo quando si chiude l'app)

il motivo per cui ho optato per questa cosa è che manipolo parecchio il db .. ogni volta che apro il programma praticamente leggo tutto il db e creo tutti gli oggetti che poi uso... e ogni volta che modifico un oggetto viene subito salvato sul db....

poichè è una specie di carrello della spesa in cui per ogni articolo ci son 2 pulsanti (+ e - ) per cambiare la quantità... quindi se dovessi prender 10 articoli dello stesso prodotto dovrei premere 10 volte sul pulsante +... e se avessi optato per aprire e chiudere la connessione al db solo per questo passaggio avrebbe dovuto aprire e chiudere il db 10 volte....

secondo voi ho fatto bene ad usare questa cosa?
o sarebbe stato meglio aprire e chiudere ogni volta?

credo che l'unico problema che ho riscontrato sia il fatto che se apro il programma, spengo il display (quindi si chiude il db), riaccendo (si riapre il db e ricarica tutti i dati), chiudo il programma subito
questo crasha perchè (credo) mi chiuda la connessione del db mentre sta ancora facendo le query...


la fase di startup impiega circa 7 secondi senza mai chiudere il db... credo che si allungherebbe se dovessi aprire e chiudere il db ad ogni query... se in quei 7 secondi chiudo l'app questa si blocca e crasha

Offline lorux

  • Utente junior
  • **
  • Post: 97
  • Respect: +12
    • Google+
    • lor.catalano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
  • Sistema operativo:
    Windows
Re:consiglio su gestione del db...
« Risposta #1 il: 05 Aprile 2013, 09:22:07 CEST »
0
bisognerebbe vedere cosa ti serve fare con la tua app e cosa hai dentro al db.
se la tua app ci mette così tanto a fare lo startup forse stai sbagliando approccio..
che vuol dire che leggi TUTTO il db all'avvio?chiediti se ha senso caricare tutto o affidarti a oggetti che android ti mette già a disposizione(gli adapter) oppure implementazioni custom(che ne sò,query con paginazione)

Offline Trigun

  • Utente normale
  • ***
  • Post: 183
  • Respect: +4
    • Mostra profilo
Re:consiglio su gestione del db...
« Risposta #2 il: 05 Aprile 2013, 12:12:15 CEST »
0
eh praticamente è tipo un listino della spesa... quindi ogni volta devo caricare tutto il db... dato che altrimenti non ho modo per vederlo ^^
il db è ottimizzato... ma purtroppo se i dati mi servono tutti devo caricarli tutti :-P

sostanzialmente leggo tutto il db e creo una mappa di oggetti su la quale lavoro ...
quando faccio qualche modifica aggiorno sempre il db...

cmq 7 sec non son tanti :-P ho una funzione che ci mette anche 20 sec a finirla :-P
pero' quella legge da file di testo e tramite 200 controlli crea il database :-P