Autore Topic: organizzazione database consigli  (Letto 936 volte)

Offline ROS

  • Utente normale
  • ***
  • Post: 196
  • Respect: +5
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 10.04
organizzazione database consigli
« il: 01 Agosto 2011, 14:33:36 CEST »
0
Ciao a tutti,
scrivo ancora, per chiedere utili consigli sull'organizzazione del db cui si dovrebbe appoggiare la mia applicazione.

Allora: devo realizzare delle tabelle in cui memorizzare vari dati che, da un riavvio all'altro, dovranno permanere.
Una di queste tabelle dovra' contenere anche circa 1000record.

Quel che chiedo quindi e' come potrei realizzare uno script che, al momento dell'installazione dell'applicazione, oltre a creare per la prima volta le tabelle faccia anche in modo che in una di queste tabelle vengano inserite una tantum i vari record.

Oppure il db viene cancellato/creato ogni volta che viene avviata l'applicazione?

Qualche lettura a riguardo? :)

Offline denper

  • Utente normale
  • ***
  • Post: 290
  • Respect: +60
    • Mostra profilo
    • Anddenper
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    denper
  • Sistema operativo:
    Window 7, Windows XP
Re:organizzazione database consigli
« Risposta #1 il: 01 Agosto 2011, 15:00:17 CEST »
0
Ciao,
io partirei dalla documentazione ufficiale:
Data Storage | Android Developers

Poi guarderei questo tutorial:
[medio] Creazione e utilizzo di un database SQLite - Android Developers Italia

Se hai ancora dei dubbi dai un occhio ai sorgenti di questo tutorial dove c'è un esempio di database Sqlite (classe NotesDbAdapter):
Notepad Tutorial | Android Developers

denper

« Ultima modifica: 01 Agosto 2011, 15:03:06 CEST da denper »
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. [A.Einstein]

Proteggi la tua privacy! Utilizza GhostPhone! https://play.google.com/store/apps/details?id=com.denper.gp
Giochi a Winforlife e Superenalotto e sei stanco di controllare le tue schedine manualmente? Prova Checkwin: https://play.google.com/store/apps/details?id=com.denper.checkwintrial

Offline ROS

  • Utente normale
  • ***
  • Post: 196
  • Respect: +5
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 10.04
Re:organizzazione database consigli
« Risposta #2 il: 02 Agosto 2011, 10:09:32 CEST »
0
Ciao,
io partirei dalla documentazione ufficiale:
Data Storage | Android Developers

Poi guarderei questo tutorial:
[medio] Creazione e utilizzo di un database SQLite - Android Developers Italia
Grazie per il link, il secondo link gia' l'avevo letto, il primo lo sto leggendo ma purtroppo non mi chiarisce i dubbi: il database viene creato ogni volta che l'applicazione viene avviata oppure solo nell'installazione? In caso sia nel secondo caso, come faccio a crearmi il db con tutte le voci che mi occorrono al momento dell'installazione?

Offline denper

  • Utente normale
  • ***
  • Post: 290
  • Respect: +60
    • Mostra profilo
    • Anddenper
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    denper
  • Sistema operativo:
    Window 7, Windows XP
Re:organizzazione database consigli
« Risposta #3 il: 02 Agosto 2011, 10:30:20 CEST »
+1
Ciao il metodo onCreate della classe SQLiteOpenHelper viene chiamato una sola volta alla creazione del database, come spiegato nella documentazione ufficiale SQLiteOpenHelper | Android Developers.

Citazione
onCreate(SQLiteDatabase db)
     Called when the database is created for the first time.
Per popolare il db puoi eseguire delle INSERT nello stesso. Per esempio potresti creare un metodo tipo fillData() con tutte le insert e richiamarlo nel metodo onCreate del SQLiteOpenHelper. Ovviamente ci sono delle soluzioni molto più eleganti del tipo creare il db esternamente, caricarlo con i dati, posizionarlo nella cartella assets e poi copiarlo per essere utilizzato dell'app. Questo esempio non è male. Personalmente ti consiglio la 2a soluzione.

denper.
« Ultima modifica: 02 Agosto 2011, 10:33:56 CEST da denper »
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. [A.Einstein]

Proteggi la tua privacy! Utilizza GhostPhone! https://play.google.com/store/apps/details?id=com.denper.gp
Giochi a Winforlife e Superenalotto e sei stanco di controllare le tue schedine manualmente? Prova Checkwin: https://play.google.com/store/apps/details?id=com.denper.checkwintrial

Offline ROS

  • Utente normale
  • ***
  • Post: 196
  • Respect: +5
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 10.04
Re:organizzazione database consigli
« Risposta #4 il: 03 Agosto 2011, 09:03:36 CEST »
0
Riapro il Topic perche' non mi e' chiara un'ultima cosa sull'organizzazione dei DB...

Il DB istanziato la prima volta con onCreate (oppure copiato da un file gia' esistente come detto piu' su) viene creato in /data/data/my.pkg/database/ .

Da questa posizione viene mai rimosso per tutto il tempo che l'applicazione resta installata?
Perche' vorrei capire se le impostazioni del programma conviene salvarle nel DB...ma non ho capito se questo viene rimosso o no  :-\

Grazie ulteriormente

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:organizzazione database consigli
« Risposta #5 il: 03 Agosto 2011, 09:14:29 CEST »
0
Viene rimosso solo se l utente cancella i dato dell applicazione!
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline ROS

  • Utente normale
  • ***
  • Post: 196
  • Respect: +5
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 10.04
Re:organizzazione database consigli
« Risposta #6 il: 03 Agosto 2011, 09:17:33 CEST »
0
Viene rimosso solo se l utente cancella i dato dell applicazione!
Ah bene, quindi una volta creato rimane inserito...:D

Grazie, rimetto su Risolto ;)