Provo a spiegarti alcune cose.
In un'applicazione per la connessione al database, specifichiamo il nome e la versione del database. In questa situazione, può verificarsi quanto segue:
1) Non esiste un database . Questo può essere ad esempio nel caso del programma di impostazione iniziale. In questo caso, l'applicazione stessa deve creare il database e tutte le tabelle in esso contenute. Inoltre, sta già lavorando con il database appena creato.
2) Il database esiste , ma la sua versione è obsoleta. Potrebbe essere l'aggiornamento del caso. Ad esempio una nuova versione del programma necessita di campi aggiuntivi nelle vecchie tabelle o nelle nuove tabelle. In questo caso, l'applicazione deve aggiornare le tabelle esistenti e crearne di nuove se necessario.
3) Esiste un database e la sua versione attuale . In questo caso, l'applicazione si connette correttamente al database ed è in esecuzione.
Come sapete, la frase "l'applicazione deve" equivale alla frase "lo sviluppatore deve", cioè è il nostro compito. Per gestire le situazioni descritte sopra, dobbiamo creare una classe che erediti per SQLiteOpenHelper. Chiamalo DBHelper. Questa classe ci fornirà i metodi per creare o aggiornare il database in caso di loro assenza o obsolescenza.
onCreate
- un metodo che verrà chiamato se il database a cui vogliamo connetterci - non esiste (è il tuo caso)