SQLite
 sql >> Database >  >> RDS >> SQLite

È davvero necessario creare tabelle SQLite ogni volta che si avvia l'applicazione?

Penso che tu stia fraintendendo qui. Quando viene costruito un oggetto SQLiteOpenHelper, verificherà se il database SQLite esiste o meno, in caso contrario chiamerà il suo onCreate() metodo (dove normalmente gli sviluppatori implementano il database di creazione SQL)

Aggiornamento:
@Clay Shannon:spiegherò il meccanismo di funzionamento del progetto Eclipse e Android. Diciamo che usi Eclipse per programmare il progetto Android. Il nuovo progetto creerà una cartella del progetto nell'area di lavoro (nel tuo caso è C:\aXX3&Space\Android\workspace e la cartella del progetto è OnDemandAndAutomatic_Project ). Questa cartella conterrà diverse sottocartelle come:src, bin, asset, res,... Ogni cartella ha il suo ruolo e sei interessato alla cartella asset, giusto? La cartella Assets viene utilizzata per contenere file di riferimento (che non puoi o non vuoi mettere nella cartella res) come:file html, file audio, file di immagini, file di testo... Quando Eclipse crea l'apk dal progetto, questi file sono inclusi anche nell'apk. Quando installi l'apk sul dispositivo Android, l'apk viene copiato nella cartella di sistema di Android e viene creata anche una cartella per contenere i dati dell'app, come menzionato da Dharmendra:/data/data/{packagename}/ (nome pacchetto come com.google.app, ecc. e questo percorso è per il tuo sistema operativo Android del tuo dispositivo, non per Windows).

Il tuo caso qui è che vuoi usare il tuo database già esistente, quindi devi implementare una funzione che controlli se il tuo database esiste o meno, in caso contrario copia il tuo db nel percorso del database /data/data/ {nomepacchetto}/database/ e chiama quella funzione all'avvio dell'app. E come farlo è già stato risposto qui Come copiare il database esistente da un'app all'altra. Anche qui è un riferimento per accedere ai file delle risorse, nel caso non lo sapessi http://www.wiseandroid.com/post/2010/06/14/Android-Beginners-Intro-to-Resources-and-Assets.aspx

Spero che ora tu possa risolvere il tuo problema. Nota :il tuo db già esistente deve essere un database SQLite, altrimenti l'app non lo riconoscerà anche se copi nel percorso corretto.