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

SQLiteOpenHelper:metodo onCreate() non chiamato sul dispositivo fisico

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)