Introduzione al database SQLite di Android



Il blog fornisce un'introduzione al database SQLite di Android

è un master un diploma post-laurea

Introduzione al database SQLite di Android

Il database SQLite di Android richiede pochissima memoria (circa 250kb), disponibile su tutti i dispositivi Android. Ogni dispositivo ha un supporto integrato per il database SQLite, che viene gestito automaticamente su Android sin dalla sua creazione, esecuzione fino al processo di interrogazione.





SQLite è un database open source, disponibile su tutti i database Android. Supporta le funzionalità del database delle relazioni standard, come la sintassi SQL, le transazioni e le istruzioni SQL. SQLite è notevolmente, la versione più leggera del database SQL, in cui la maggior parte dei comandi SQL non viene eseguita sul database SQLite. Una volta che SQLite è a posto, è importante assicurarsi che una funzionalità o un comando sia disponibile in SQLite solo allora può essere eseguito.

I vantaggi di base di SQLite:



  • È un database leggero
  • Richiede pochissima memoria
  • Un database gestito automaticamente

SQLite supporta solo 3 tipi di dati:

  • Testo (come una stringa): per memorizzare l'archivio del tipo di dati
  • Intero (come int) - per memorizzare la chiave primaria intera
  • Reale (come il doppio): per memorizzare valori lunghi

Fondamentalmente SQLite non convalida i tipi di dati da solo. In altre parole, qualunque tipo di dato venga utilizzato, viene definito valido.

Ad esempio, in questo caso, è stato discusso il database di un operatore via cavo. Qui, una nuova tabella viene aggiunta con 'testo' nel campo del nome e nella casella del nome del campo che contiene 'campo di testo'. È stato creato un tipo di dati a valore casuale. Il risultato finale è una tabella di test con un tipo di dati non valido, che mostra che SQLite non convalida il tipo di dati.



* È possibile trovare il database facendo clic sul pacchetto e accedendo alla cartella dei dati alla cartella del database, che contiene il file.

Nota: la classe SQLiteOpen Helper viene utilizzata per gestire la creazione del database e la gestione delle versioni.

Domande degli utenti:

La modifica del risultato della versione del database è la modifica della versione SQLite dell'oggetto?

Non ci sono cambiamenti nella versione SQLite dell'oggetto poiché uno gestisce la creazione / aggiornamento del database e l'altro sta giocando sui dati contenuti nelle tabelle del database. In tal modo non vi è alcuna dipendenza

Tornando indietro, quando estendiamo la classe SQLiteopenHelper, sovrascriviamo i metodi Oncreate e OnUpgrade in questa classe. Quando si accede al database SQLite, a volte può essere lento, a seconda della complessità della query. È sempre preferibile assicurarsi di evitare il minimo impatto o le query in esecuzione in ricorsione quando viene eseguita una query SQL. Inoltre lo èconsigliato per eseguire il database in modo sincrono.Questi metodi vengono gestiti o chiamati automaticamente dal framework. Inoltre, è necessario notare che ogni volta che si aumenta la versione del DB, verrà automaticamente chiamato onUpgrade.

Ogni volta che si parla della classe helper aperta di SQLite, il nome e la versione del database vengono passati al costruttore della classe estesa.

Qui, due cose devono essere prese in considerazione:

  • Se il database non esiste, viene chiamato il metodo OnCreate ().
  • Se la versione del database viene aggiornata, viene chiamato il metodo OnUpgrade ().

La classe helper aperta SQLite fornisce il nome e la versione nel costruttore. Viene chiamato getwriteabledatabase () e se il database non esiste, verrà OnCreate. Se nel caso, il database esiste e la versione è aggiornata, chiamerà OnUpgrade ().

Questi metodi sono su firstcall di db?

Facciamo un esempio. Una volta installata un'applicazione, verrà creata OnCreate e il metodo apk verrà caricato nel Play Store di Google. Una volta scaricata l'ultima versione dell'apk, controllerà il database già installato. Se ha una versione successiva, chiamerà aggiornamento, altrimenti non farà nulla.

Domanda dell'utente

È necessario disporre dell'autorizzazione dell'utente per aggiornare la versione db?

No, l'autorizzazione non è richiesta, poiché stiamo lavorando sulle risorse dell'applicazione non dobbiamo richiedere l'autorizzazione.

Domanda dell'utente

Se l'utente1 ha installato la mia applicazione ed è una versione aggiornata per DB e successivamente l'utente2 sta installando una nuova applicazione e l'utente1 sta aggiornando l'app. In tale scenario, se viene chiamato utente1 all'aggiornamento della versione e per il metodo di creazione di utente2, tutti i metodi sono di Android?

Sì, perché non abbiamo alcuna versione già installata sul dispositivo. Non importa, a patto che non ci sia una versione precedente installata nel dispositivo. È molto simile alla gestione del framework.

Domanda dell'utente

Possiamo avere l'oggetto database SQLite? E se il mio nome db haconflittocon un altro oggetto nome db?

Non importa, perché il database risiede nel nome del pacchetto dell'applicazione, che non dovrebbe essere in conflitto anche se è stata creata una sottocartella con lo stesso nome. È importante solo a livello di root e la gestione a livello di root viene eseguita con l'aiuto del nome del pacchetto. Va notato che non possiamo avere due applicazioni con lo stesso nome di pacchetto, ma possiamo avere 2 nomi di database diversi in pacchetti diversi. Il database SQLite si occupa di aggiornamento, cancellazione, inserimento, interrogazione e chiusura e apertura delle operazioni del database con l'aiuto dell'oggetto.

Hai domande per noi? Menzionateli nella sezione commenti e vi risponderemo.

Post correlati: