Autore Topic: Classe per connessione al db  (Letto 749 volte)

Offline Semola

  • Utente junior
  • **
  • Post: 55
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Nexus 6P
  • Sistema operativo:
    Ubuntu 13.04 on Dell XPS 14
Classe per connessione al db
« il: 27 Settembre 2013, 22:55:29 CEST »
0
Salve
Per i precedenti progetti android in ogni activity in cui necessitavo di una connessione al db creavo una classe interna come async task
Vorrei creare una classe generale che si occupi sempre e solo di connessione al db ma che permetta di essere impostata, cioè gli passo la pagina a cui dover fare la connessione (sempre come async task) e lei mi restituisce il json
Credete sia una buona idea?

Inviato dal mio A510 con Tapatalk 4

Offline Semola

  • Utente junior
  • **
  • Post: 55
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Nexus 6P
  • Sistema operativo:
    Ubuntu 13.04 on Dell XPS 14
Re:Classe per connessione al db
« Risposta #1 il: 29 Settembre 2013, 10:33:32 CEST »
0
Up nessuno sa darmi un consiglio su come fare?

Inviato dal mio Nexus 4 con Tapatalk 4


Offline matttt

Re:Classe per connessione al db
« Risposta #2 il: 29 Settembre 2013, 11:27:21 CEST »
0
Prova a dare un'occhiata a questo articolo, potrebbe esserti utile:
Multithreading For Performance | Android Developers Blog

In alternativa potresti implementare un ContentProvider, non è una strada semplicissima però.
C'è anche un tutorial qui nel forum:
[medio/avanzato]Content Providers + CursorLoaders: the modern way - Android Developers Italia
Le mie apps su Google Play Store:

Offline Semola

  • Utente junior
  • **
  • Post: 55
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Nexus 6P
  • Sistema operativo:
    Ubuntu 13.04 on Dell XPS 14
Re:Classe per connessione al db
« Risposta #3 il: 03 Ottobre 2013, 23:15:44 CEST »
0
Allora eccomi, ho dato una lettura, la prima già la sapevo, mentre per la seconda la vedo una cosa molto articolata, forse mi sono spiegato male, provo a riformulare la domanda XD
se per esempio in un activity ho 2 connessioni al dB dovrò creare 2 classi interne come AsyncTask che fanno la connessione
Mi sembra una cosa un po dispendiosa anche a livello di codice che su certe cose è ridondante, si può creare una classe generale che istanzio gli passo alcuni parametri e mi restituisce il json?

Inviato dal mio Nexus 4 con Tapatalk 4
« Ultima modifica: 04 Ottobre 2013, 10:48:02 CEST da Semola »

Offline matttt

Re:Classe per connessione al db
« Risposta #4 il: 04 Ottobre 2013, 18:21:36 CEST »
0
Mi sembra fattibile. Puoi anche semplicemente creare una classe che estende AsyncTask e passare a doInBackground() una serie di URL da cui scaricare i json, oppure una serie di oggetti contenenti i dettagli necessari per scaricare il json e inserire i dati nelle relative tabelle.
Le mie apps su Google Play Store:

Offline Semola

  • Utente junior
  • **
  • Post: 55
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Nexus 6P
  • Sistema operativo:
    Ubuntu 13.04 on Dell XPS 14
Re:Classe per connessione al db
« Risposta #5 il: 08 Ottobre 2013, 23:40:31 CEST »
0
Il metodo do in background può ricevere parametri?
E poi come posso fargli capire i dati che deve parsare dal json? Cioè quali sono i campi più che altro

Inviato dal mio Nexus 4 con Tapatalk 4


Offline matttt

Re:Classe per connessione al db
« Risposta #6 il: 10 Ottobre 2013, 20:22:33 CEST »
0
Si, accetta parametri multipli.
Nella documentazione trovi un buon esempio:
AsyncTask | Android Developers

La seconda domanda non capisco...
Scarichi il tuo json, fai il parsing...
Nuova API json (>= 11):
JsonReader | Android Developers
Vecchia API json:
JSONTokener | Android Developers

E poi tratti i dati che ottieni a tuo piacimento in base alle tabelle che hai.
Fai delle normali insert di ogni riga.
Le mie apps su Google Play Store: