Uvod u bazu podataka Android SQLite



Blog nudi uvod u bazu podataka Android SQLite

Uvod u bazu podataka Android SQLite

Baza podataka Android SQLite zahtijeva vrlo malo memorije (oko 250 kb), koja je dostupna na svim android uređajima. Svaki uređaj ima ugrađenu podršku za SQLite bazu podataka, kojom se automatski upravlja na Androidu, sve od njenog stvaranja, izvršenja do procesa ispitivanja.





datum tipa podataka u primjeru sql

SQLite je baza podataka otvorenog koda, dostupna u svakoj android bazi podataka. Podržava značajke baze podataka standardnih relacija, poput SQL sintakse, transakcija i SQL izraza. SQLite je znatno lakša verzija SQL baze podataka, gdje se većina SQL naredbi ne izvodi na bazi SQLite. Jednom kada je SQLite na mjestu, važno je osigurati da je značajka ili naredba dostupna u SQLiteu, tek tada se može izvršiti.

Osnovne prednosti SQLitea:



  • To je mala baza podataka
  • Zahtijeva vrlo malo memorije
  • Baza podataka koja se automatski upravlja

SQLite podržava samo 3 vrste podataka:

  • Tekst (poput niza) - za spremanje spremišta vrsta podataka
  • Cijeli broj (poput int) - za pohranu cijelog primarnog ključa
  • Stvarno (poput dvostrukog) - za pohranu dugih vrijednosti

U osnovi SQLite ne provjerava tipove podataka sam po sebi. Drugim riječima, bez obzira na tipove podataka koji se koriste, oni se nazivaju valjanima.

Primjerice, u ovom je slučaju raspravljano o bazi podataka kabelskog operatora. Ovdje se dodaje nova tablica s 'text' u polju imena i polju imena polja s 'textfield'. Stvoren je tip podataka slučajne vrijednosti. Krajnji rezultat je testna tablica s nevažećim tipom podataka, što pokazuje da SQLite ne provjerava tip podataka.



* Bazu podataka možete pronaći klikom na paket i pristupom mapi podataka u mapu baze podataka koja sadrži datoteku.

Napomena: Klasa SQLiteOpen Helper koristi se za upravljanje stvaranjem baze podataka i upravljanjem verzijama.

Korisnička pitanja:

Je li promjena rezultata db verzije promjena SQLite verzije objekta?

Ne postoji promjena u verziji SQLite objekta od jedne koja obrađuje stvaranje / ažuriranje baze podataka, a druga se reproducira na podacima koji se nalaze u tablicama baze podataka. Stoga uopće ne postoji ovisnost

Vraćajući se, kada proširimo klasu SQLiteopenHelper, prepisujemo metode Oncreate & OnUpgrade u ovoj klasi. Kada se pristupi bazi podataka SQLite, ponekad može biti sporo, ovisno o složenosti upita. Uvijek je poželjno osigurati da se izbjegne najmanji utjecaj ili upiti koji se izvode u rekurziji kada se izvrši SQL upit. Također jepreporuča se sinkronizirano izvođenje baze podataka.Ovim metodama okvir automatski rukuje ili ih poziva. Također, mora se napomenuti da kad god se poveća DB verzija, automatski će je pozvati na Upgrade.

Kad god se govori o SQLite otvorenoj pomoćnoj klasi, njezino ime baze podataka i verzija prenose se u konstruktoru proširene klase.

Ovdje treba uzeti u obzir dvije stvari:

  • Pozva se metoda OnCreate (), ako baza podataka ne postoji.
  • Pozva se metoda OnUpgrade () ako se ažurira verzija baze podataka.

Otvorena pomoćna klasa SQLite daje ime i verziju u konstruktoru. Pozva se baza podataka getwriteabledatabase () i ako baza podataka ne postoji, ona će OnCreate. U slučaju da baza podataka postoji i verzija je ažurirana, pozvat će OnUpgrade ().

Jesu li ove metode na prvom pozivu db?

Uzmimo primjer. Jednom kada instaliramo aplikaciju, stvorit će OnCreate i apk metode prenijeti u Google play trgovinu. Nakon preuzimanja najnovije verzije apk-a, provjerit će već instaliranu bazu podataka. Ako ima višu verziju, nazvat će nadogradnju, ako ne, tada neće učiniti ništa.

Korisničko pitanje

Je li potrebno imati korisničko dopuštenje za nadogradnju db verzije?

Ne, dopuštenje nije potrebno, jer radimo na resursima aplikacije, ne moramo tražiti dopuštenje.

fibonaccijev kod c ++

Korisničko pitanje

Ako je user1 instalirao moju aplikaciju i to je nadograđena verzija za DB, a zatim user2 instalira novu aplikaciju, a user1 nadograđuje aplikaciju. Ako se u takvom scenariju pozove user1 na nadogradnji verzije i pozove metoda create2, jesu li sve metode iz androida?

Da, jer na uređaju nemamo već instaliranu verziju. Nije važno, sve dok u uređaj nije instalirana ranija verzija. To je vrlo poput rukovanja okvirom.

Korisničko pitanje

Možemo li dobiti objekt SQLite baze podataka? Što ako ima moje db imesukobs drugim objektom db imena?

Nije važno, jer se baza podataka nalazi na nazivu paketa aplikacije, što ne bi trebalo biti u sukobu čak i ako je stvorena podmapa s istim imenom. Važno je samo na razini korijena, a rukovanje na razini korijena vrši se uz pomoć naziva paketa. Moramo napomenuti da ne možemo imati dvije aplikacije s istim nazivom paketa, ali možemo imati 2 različita db imena pod različitim paketima. Baza podataka SQLite brine se za nadogradnju, brisanje, umetanje, ispitivanje i zatvaranje i otvaranje operacija baze podataka uz pomoć objekta.

Imate pitanje za nas? Spomenite ih u odjeljku za komentare i javit ćemo vam se.

Vezane objave: