Autore Topic: db e gestione dati.  (Letto 682 volte)

Offline _SC_

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
db e gestione dati.
« il: 26 Dicembre 2010, 15:54:56 CET »
0
mmm
non ho mai usato un db embadded nel codice e sono concettualmente in difficoltà.
Leggendo qua e là ho visto che con SQLite ogni volta va creato , riempito ecc.
Ma uno dei vantaggi di usare un DB è che i dati si possono salvare e ogni volta che ci si punta si ritrovano...
Se ho capito bene realizzare un db vero e proprio non si può fare. Ma allora come si salvano i dati? E a che serve SQLite, a parte essere uno strumento in più che male non fa?

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:db e gestione dati.
« Risposta #1 il: 26 Dicembre 2010, 16:08:40 CET »
0
Leggendo qua e là ho visto che con SQLite ogni volta va creato , riempito ecc.

Hai letto male probabilmente ;)
Le api messe a disposizione da Android ti permettono di creare il db quando ancora non è presente sul dispositivo e successivamente di accederci per fare le operazioni tipiche.
Per gestire il ciclo di vita (creazione e upgrade sostanzialmente) devi utilizzare la classe SQLiteOpenHelper, trovi una marea di documentazione a riguardo.
Altrimenti non avrebbe senso.

Offline _SC_

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
Re:db e gestione dati.
« Risposta #2 il: 27 Dicembre 2010, 08:46:56 CET »
0
qualcosa mi sfugge :(
facciamo un esempio.
Nella prima activity creo il db, nell'oncreate, giusto?
Ma questo db non viene ricreato ogni volta che accedo all'applicazione? Oppure solo quando si carica l'applicazione?
Ad esempio nel tutorial proposto su questo forum :
http://www.anddev.it/index.php/topic,856.0.html
il db viene creato nell'oncreate dell'activity di partenza :
MyDatabase db=new MyDatabase(getApplicationContext());
E poi non viene più creato? Pensavo che l'oncreate venisse chiamato ogni volta che si accede all'applicazione.
In questo caso attacco un'altra domanda: quando si starta l'emulatore con l'opzione wipe data si riparte da zero?

grazie per tutte le risposte.

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re: db e gestione dati.
« Risposta #3 il: 27 Dicembre 2010, 10:12:02 CET »
0
Viene creato la prima volta che instanzi l'oggetto di tipo SQLiteOpenHelper.

Il wipe serve, come hai intuito, a cancellare dati e impostazioni presenti sull'emulatore.

Sent from my HTC Desire using Tapatalk

Offline _SC_

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
Re:db e gestione dati.
« Risposta #4 il: 27 Dicembre 2010, 10:30:46 CET »
0
ultima domanda/e :
quindi l'Helper crea il db.

1)A livello di applicazione immagino che questo db venga messo nello spazio che si prende l'applicazione, non so come chiamarlo, spazio dei nomi, modulo, mbo. Insomma sta li dentro e nel caso l'applicazione venga disintallata l'intero db viene cancellato?
2)E invece se sto sviluppando con Eclipse che succede? Se cancello l'intero progetto, compresa la rimozione dei dati viene fatto sparire tutto? O va fatto a mano successivamente, da cartella o con un client?
3)se faccio girare la prima volta con l'emulatore e creo il db, posso successivamente puntarlo con un client? e fare tutte le modifiche del caso, create, insert ecc? E ritrovarmi tutto nell'applicazione caricata?

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:db e gestione dati.
« Risposta #5 il: 27 Dicembre 2010, 10:54:15 CET »
0
Citazione
1)A livello di applicazione immagino che questo db venga messo nello spazio che si prende l'applicazione, non so come chiamarlo, spazio dei nomi, modulo, mbo. Insomma sta li dentro e nel caso l'applicazione venga disintallata l'intero db viene cancellato?

Si, esatto.

Citazione
2)E invece se sto sviluppando con Eclipse che succede? Se cancello l'intero progetto, compresa la rimozione dei dati viene fatto sparire tutto? O va fatto a mano successivamente, da cartella o con un client?

No se cancelli il progetto ma precedentemente hai installato l'app sull'emulatore questa non viene cancellata.
Per dinstallarla comunque non serve fare il wipe dell'emulatore. Basta che fai da terminare adb uninstall tuo package

Citazione
3)se faccio girare la prima volta con l'emulatore e creo il db, posso successivamente puntarlo con un client? e fare tutte le modifiche del caso, create, insert ecc? E ritrovarmi tutto nell'applicazione caricata?

dove si trovano le tabelle del db? - Android Developers Italia


« Ultima modifica: 27 Dicembre 2010, 10:57:42 CET da Ricky` »

Offline _SC_

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
Re:db e gestione dati.
« Risposta #6 il: 27 Dicembre 2010, 11:29:50 CET »
0
grazie per le risposte!