Introducere în baza de date Android SQLite



Blogul oferă o introducere în baza de date Android SQLite

Introducere în baza de date Android SQLite

Baza de date Android SQLite necesită foarte puțină memorie (aproximativ 250kb), care este disponibilă pe toate dispozitivele Android. Fiecare dispozitiv are un suport încorporat pentru baza de date SQLite, care este gestionat automat pe Android chiar de la crearea sa, până la executarea procesului de interogare.





SQLite este o bază de date open source, disponibilă pentru fiecare bază de date Android. Acceptă funcții de bază de date de relații standard, cum ar fi sintaxa SQL, tranzacții și instrucțiuni SQL. SQLite este considerabil, versiunea mai ușoară a bazei de date SQL, unde majoritatea comenzilor SQL nu rulează pe baza de date SQLite. Odată ce SQLite este la locul său, este important să vă asigurați că o caracteristică sau o comandă este disponibilă în SQLite numai atunci poate fi executată.

Avantajele de bază ale SQLite:



  • Este o bază de date ușoară
  • Necesită foarte puțină memorie
  • O bază de date gestionată automat

SQLite acceptă doar 3 tipuri de date:

  • Text (cum ar fi șirul) - pentru stocarea tipului de date
  • Integer (cum ar fi int) - pentru stocarea cheii primare întregi
  • Real (ca dublu) - pentru stocarea valorilor lungi

Practic SQLite nu validează tipurile de date de la sine. Cu alte cuvinte, indiferent de tipurile de date utilizate, acestea sunt denumite valide.

De exemplu, în acest caz, a fost discutată baza de date a unui operator de cablu. Aici, se adaugă un nou tabel cu „text” în câmpul de nume și în caseta de nume de câmp care poartă „textfield”. A fost creat un tip de date cu valoare aleatorie. Rezultatul final este un tabel de testare cu un tip de date nevalid, care arată că SQLite nu validează tipul de date.



* Se poate găsi baza de date făcând clic pe pachet și accesând folderul de date în folderul bazei de date, care conține fișierul.

Notă: Clasa SQLiteOpen Helper este utilizată pentru a gestiona crearea bazei de date și gestionarea versiunilor.

Întrebări ale utilizatorului:

Rezultatul modificării versiunii db este modificarea versiunii SQLite a obiectului?

Nu există nicio schimbare în versiunea SQLite a obiectului, deoarece una se ocupă de crearea / actualizarea bazei de date, iar cealaltă se joacă pe datele păstrate în tabelele bazei de date. Prin urmare, nu există deloc dependență

Revenind, când extindem clasa SQLiteopenHelper, suprascriem metodele Oncreate & OnUpgrade din această clasă. Când se accesează baza de date SQLite, uneori poate fi lent, în funcție de complexitatea interogării. Este întotdeauna preferat să vă asigurați că cel mai mic impact sau interogările care se execută în recursivitate sunt evitate atunci când se execută o interogare SQL. De asemenea, esterecomandat pentru a efectua sincronizarea bazei de date.Aceste metode sunt gestionate sau apelate automat de cadru. De asemenea, trebuie remarcat faptul că ori de câte ori creșteți versiunea DB, acesta va apela automat pe Actualizare pe aceasta.

Ori de câte ori se vorbește despre clasa de ajutor deschis SQLite, numele și versiunea bazei sale de date sunt transmise în constructorul clasei extinse.

Aici, trebuie luate în considerare două lucruri:

java cum se utilizează tostring
  • Se apelează metoda OnCreate (), dacă baza de date nu există.
  • Se apelează metoda OnUpgrade (), dacă versiunea bazei de date este actualizată.

Clasa de asistent deschis SQLite oferă numele și versiunea în constructor. Se apelează getwriteabledatabase () și dacă baza de date nu există, va crea OnCreate. În cazul în care baza de date există și versiunea este actualizată, va apela la OnUpgrade ().

Sunt aceste metode pe firstcall de db?

Să luăm un exemplu. Odată ce instalăm o aplicație, aceasta va crea OnCreate și metoda apk este încărcată în magazinul Google Play. Odată descărcată cea mai recentă versiune a apk-ului, acesta va verifica baza de date deja instalată. Dacă are o versiune superioară, va apela la upgrade, dacă nu, atunci nu va face nimic.

marioneta vs bucatar vs ansible

Întrebarea utilizatorului

Este necesar să aveți permisiunea utilizatorului pentru a actualiza versiunea db?

Nu, permisiunea nu este necesară, deoarece lucrăm la resursele aplicației, nu trebuie să solicităm permisiunea.

Întrebarea utilizatorului

Dacă user1 a instalat aplicația mea și este o versiune actualizată pentru DB și ulterior user2 instalează o aplicație nouă și user1 actualizează aplicația. Într-un astfel de scenariu, dacă este apelat user1 din versiunea de actualizare și pentru user2 se numește metoda de creare, sunt toate metodele de la Android?

Da, pentru că nu avem nicio versiune instalată deja pe dispozitiv. Nu contează, atâta timp cât nu există o versiune anterioară instalată pe dispozitiv. Este foarte asemănător cu manipularea cadrului.

Întrebarea utilizatorului

Putem avea obiectul bazei de date SQLite? Ce se întâmplă dacă numele meu db areconflictcu un alt obiect nume db?

Nu contează, deoarece baza de date se află pe numele pachetului aplicației, care nu ar trebui să fie în conflict chiar dacă a fost creat un sub-folder cu același nume. Contează doar la nivel de rădăcină și gestionarea la nivel de rădăcină se face cu ajutorul numelui pachetului. Trebuie remarcat faptul că nu putem avea două aplicații cu același nume de pachet, dar putem avea 2 nume de db diferite sub pachete diferite. Baza de date SQLite se ocupă de actualizarea, ștergerea, inserarea, interogarea și închiderea și deschiderea operațiunilor bazei de date cu ajutorul obiectului.

Ai o întrebare pentru noi? Menționați-le în secțiunea de comentarii și vă vom răspunde.

Postări asemănatoare: