Ievads par Android SQLite datu bāzi



Emuārā ir ievads Android SQLite datu bāzē

Ievads par Android SQLite datu bāzi

Android SQLite datu bāzei ir nepieciešams ļoti maz atmiņas (aptuveni 250 KB), kas ir pieejama visās android ierīcēs. Katrai ierīcei ir iebūvēts atbalsts SQLite datu bāzei, kas tiek automātiski pārvaldīta android tieši no tās izveides, izpildes līdz vaicājumu sagatavošanas procesam.





SQLite ir atvērtā pirmkoda datu bāze, kas pieejama katrā android datu bāzē. Tas atbalsta standarta attiecību datu bāzes funkcijas, piemēram, SQL sintaksi, darījumus un SQL priekšrakstus. SQLite ir ievērojami vieglāka SQL datu bāzes versija, kur lielākā daļa SQL komandu nedarbojas SQLite datu bāzē. Kad SQLite ir ievietots, ir svarīgi nodrošināt, ka līdzeklis vai komanda ir pieejama SQLite tikai tad, kad to var izpildīt.

kā iegūt masīva garumu javascript

SQLite galvenās priekšrocības:



  • Tā ir viegla datu bāze
  • Nepieciešama ļoti maz atmiņas
  • Automātiski pārvaldīta datu bāze

SQLite atbalsta tikai 3 datu tipus:

  • Teksts (piemēram, virkne) - datu tipa krātuves glabāšanai
  • Vesels skaitlis (piemēram, int) - vesela skaitļa primārās atslēgas glabāšanai
  • Īsts (piemēram, dubultā) - garu vērtību glabāšanai

Būtībā SQLite pati neapstiprina datu tipus. Citiem vārdiem sakot, neatkarīgi no izmantotajiem datu tipiem tie tiek saukti par derīgiem.

Piemēram, šajā gadījumā ir apspriesta kabeļoperatora datu bāze. Šeit tiek pievienota jauna tabula ar vārdu “text” nosaukuma laukā un lauka nosaukuma lodziņā ar tekstu “textfield”. Ir izveidots izlases veida datu tips. Gala rezultāts ir testa tabula ar nederīgu datu tipu, kas parāda, ka SQLite neapstiprina datu tipu.



* Datu bāzi var atrast, noklikšķinot uz paketes un piekļūstot datu mapei datu bāzes mapē, kurā atrodas fails.

Piezīme: SQLiteOpen Helper klase tiek izmantota datu bāzes izveides un versiju pārvaldības pārvaldībai.

Lietotāja jautājumi:

Vai db versijas rezultāta izmaiņas ir objekta SQLite versijas izmaiņas?

Objekta SQLite versijā nav izmaiņu kopš vienas apstrādes ar datu bāzes izveidi / atjaunināšanu, bet otra spēlē ar datiem, kas glabājas datu bāzes tabulās. Tādējādi vispār nav atkarības

Atgriežoties pēc tam, kad paplašinām SQLiteopenHelper klasi, mēs pārrakstām Oncreate & OnUpgrade metodes šajā klasē. Piekļūstot SQLite datu bāzei, dažreiz tā var būt lēna, atkarībā no vaicājuma sarežģītības. Vienmēr ir ieteicams pārliecināties, ka, izpildot SQL vaicājumu, tiek novērsta vismazākā ietekme vai vaicājumi, kas darbojas rekursijā. Arī tas irieteicams datu bāzi veikt sinhroni.Šīs metodes automātiski apstrādā vai izsauc sistēma. Turklāt jāatzīmē, ka ikreiz, kad tiek palielināta DB versija, tā automātiski izsauks onUpgrade.

Ikreiz, kad tiek runāts par SQLite atvērto palīgu klasi, tās datu bāzes nosaukums un versija tiek nodota paplašinātās klases konstruktorā.

Šeit jāņem vērā divas lietas:

  • Ja datubāze nepastāv, tiek izsaukta OnCreate () metode.
  • Ja tiek atjaunināta datu bāzes versija, tiek izsaukta OnUpgrade () metode.

SQLite atvērtā palīga klase dod vārdu un versiju konstruktorā. Tiek izsaukta getwriteabledatabase (), un, ja datu bāzes nav, tā izveidos OnCreate. Ja tādā gadījumā datu bāze pastāv un versija ir atjaunināta, tā izsauks OnUpgrade ().

Vai šīs metodes tiek izmantotas db vispirms piezvanot?

pārtraukt programmu java

Ņemsim piemēru. Kad mēs instalēsim lietojumprogrammu, tā izveidos OnCreate, un metode apk tiks augšupielādēta Google Play veikalā. Pēc jaunākās APK versijas lejupielādes tā pārbaudīs jau instalēto datu bāzi. Ja tam ir augstāka versija, tas izsauks jaunināšanu, ja nē, tad tas neko nedarīs.

Lietotāja jautājums

Vai ir nepieciešama lietotāja atļauja, lai jauninātu db versiju?

Nē, atļauja nav nepieciešama, jo mēs strādājam pie lietojumprogrammas resursiem, un mums nav jāmeklē atļauja.

Lietotāja jautājums

Ja user1 ir instalējis manu lietojumprogrammu un tā ir uzlabota DB versija, un pēc tam user2 instalē jaunu lietojumprogrammu un user1 jaunina lietotni. Šādā gadījumā, ja tiek izsaukts user1 par versijas jaunināšanu un izsaukts uz user2 create metodi, vai visas metodes ir no android?

Jā, jo mūsu ierīcē vēl nav instalēta neviena versija. Tas nav svarīgi, ja vien ierīcē nav instalēta vecāka versija. Tas ļoti atgādina ietvara apstrādi.

Lietotāja jautājums

Vai mums var būt SQLite datu bāzes objekts? Ko darīt, ja manam db nosaukumam irkonfliktsar citu db nosaukuma objektu?

Tas nav svarīgi, jo datu bāze atrodas lietojumprogrammas pakotnes nosaukumā, kam nevajadzētu būt pretrunīgam pat tad, ja ir izveidota apakšmape ar tādu pašu nosaukumu. Tam ir nozīme tikai saknes līmenī, un saknes līmeņa apstrāde tiek veikta ar pakotnes nosaukuma palīdzību. Jāatzīmē, ka mums nevar būt divas lietojumprogrammas ar vienu un to pašu pakotnes nosaukumu, bet zem dažādām pakotnēm mums var būt 2 dažādi db nosaukumi. SQLite datu bāze ar objekta palīdzību rūpējas par atjaunināšanu, dzēšanu, ievietošanu, vaicājumu izveidošanu un datu bāzes darbību aizvēršanu un atvēršanu.

Vai mums ir jautājums? Pieminiet tos komentāru sadaļā, un mēs ar jums sazināsimies.

Saistītās ziņas:

kā padarīt jframe