Panimula sa Android SQLite Database



Ang blog ay nagbibigay ng isang pagpapakilala sa Android SQLite Database

Panimula sa Android SQLite Database

Ang Android SQLite Database ay nangangailangan ng napakakaunting memorya (sa paligid ng 250kb), na magagamit sa lahat ng mga android device. Ang bawat aparato ay may isang nakapaloob na suporta para sa database ng SQLite, na awtomatikong pinamamahalaan sa android mula mismo sa paglikha nito, pagpapatupad hanggang sa proseso ng pag-query.





Ang SQLite ay isang bukas na mapagkukunan ng database, magagamit sa bawat android database. Sinusuportahan nito ang mga karaniwang tampok sa database ng mga relasyon, tulad ng SQL syntax, mga transaksyon at pahayag ng SQL. Ang SQLite ay malaki, ang mas magaan na bersyon ng SQL database, kung saan ang karamihan sa mga utos ng SQL ay hindi tatakbo sa SQLite database. Kapag ang SQLite ay nasa lugar na, mahalagang matiyak na ang isang tampok o utos ay magagamit sa SQLite pagkatapos lamang ito maisagawa.

Ang Pangunahing Mga Kalamangan ng SQLite:



  • Ito ay isang light weight database
  • Nangangailangan ng napakakaunting memorya
  • Isang Awtomatikong pinamamahalaang database

Sinusuportahan lamang ng SQLite ang 3 Datatypes:

  • Text (tulad ng string) - para sa pagtatago ng store ng uri ng data
  • Integer (tulad ng int) - para sa pagtatago ng pangunahing key ng integer
  • Real (tulad ng doble) - para sa pagtatago ng mga mahahalagang halaga

Talaga ang SQLite ay hindi nagpapatunay ng mga datatypes nang mag-isa. Sa madaling salita, anumang datatypes ang ginagamit, ang mga ito ay tinukoy bilang wasto.

Halimbawa, sa kasong ito, tinalakay ang database ng isang operator ng cable. Dito, idinagdag ang isang bagong talahanayan na may 'teksto' sa patlang ng pangalan at kahon ng fieldname na nagdadala ng 'textfield'. Nilikha ang isang random na datatype na halaga. Ang resulta ay isang talahanayan sa pagsubok na may isang hindi wastong datatype, na ipinapakita na hindi napatunayan ng SQLite ang datatype.



c ++ saklaw ng operator

* Mahahanap ng isang tao ang database sa pamamagitan ng pag-click sa package at pag-access sa folder ng data sa folder ng database, na naglalaman ng file.

Tandaan: Ang klase ng SQLiteOpen Helper ay ginagamit upang pamahalaan ang paglikha ng database at pamamahala ng bersyon.

Mga Katanungan ng Gumagamit:

Ang pagbabago ba sa resulta ng bersyon ng db ay pagbabago ng bersyon ng SQLite ng object?

Walang pagbabago sa bersyon ng SQLite ng bagay dahil ang isang paghawak ng paglikha / pag-update ng database, at ang iba pa ay nagpe-play sa data na hawak sa mga talahanayan ng database. Sa gayon ay wala talagang pagtitiwala

Bumabalik, kapag pinahaba namin ang klase ng SQLiteopenHelper, sinusuportahan namin ang mga pamamaraan ng Oncreate & OnUpgrade sa klase na ito. Kapag na-access ang database ng SQLite, maaari itong maging mabagal minsan, depende sa pagiging kumplikado ng query. Palaging ginusto ito upang matiyak na ang pinakamaliit na epekto o mga query na tumatakbo sa recursion ay maiiwasan kapag ang isang query sa SQL ay naisakatuparan. Gayundin ito ayinirekumenda upang maisagawa ang database kasabay.Ang mga pamamaraang ito ay awtomatikong hinahawakan o tinawag ng balangkas. Gayundin, dapat tandaan na tuwing tataasan ng isang tao ang bersyon ng DB, awtomatiko itong tatawag saUpgrade dito.

Tuwing may pinag-uusapan tungkol sa SQLite bukas na klase ng tumutulong, ang pangalan at bersyon ng database ay naipasa sa tagabuo ng pinalawig na klase.

Dito, isasaalang-alang ang dalawang bagay:

  • Ang pamamaraan ng OnCreate () ay tinawag, kung ang database ay wala.
  • Ang pamamaraan ng OnUpgrade () ay tinawag, kung na-update ang bersyon ng database.

Ang SQLite open helper class ay nagbibigay ng pangalan at bersyon sa tagatayo. Ang getwriteabledatabase () ay tinawag at kung ang database ay hindi umiiral, ito ay OnCreate. Kung sakali, mayroon ang database at na-update ang bersyon, tatawag ito sa OnUpgrade ().

Ang mga pamamaraang ito ba ay sa firstcall ng db?

Gumawa tayo ng isang halimbawa. Kapag na-install namin ang isang application, lilikha ito ng OnCreate at ang pamamaraan na apk ay na-upload sa Google play store. Kapag na-download ang pinakabagong bersyon ng apk, susuriin nito ang naka-install na na database. Kung mayroon itong isang mas mataas na bersyon, tatawag ito sa pag-upgrade, kung hindi, kung gayon wala itong gagawin.

Tanong ng Gumagamit

Kinakailangan bang magkaroon ng pahintulot ng gumagamit na mag-upgrade ng bersyon ng db?

Hindi, hindi kinakailangan ang pahintulot, dahil nagtatrabaho kami sa mga mapagkukunan ng application na hindi namin kailangang humingi ng pahintulot.

ano ang serialization sa java

Tanong ng Gumagamit

Kung na-install ng user1 ang aking application at ito ay isang na-upgrade na bersyon para sa DB at sa paglaon ang user2 ay nag-i-install ng bagong application at ang user1 ay ina-upgrade ang app. Sa ganitong sitwasyon, kung ang user1 sa pag-upgrade ng bersyon ay tinawag at para sa user2 na paraan ng paglikha ay tinawag, ang lahat ba ng mga pamamaraan mula sa android?

Oo, dahil wala kaming anumang naka-install na bersyon sa aparato. Hindi mahalaga, hangga't walang naunang bersyon na naka-install sa aparato. Ito ay katulad ng paghawak ng balangkas.

Tanong ng Gumagamit

Maaari ba tayong magkaroon ng object ng database ng SQLite? Paano kung mayroon ang aking pangalan ng dbhidwaanmay ibang object ng pangalan ng db?

kung paano lumikha ng isang set

Hindi mahalaga, dahil ang database ay naninirahan sa pangalan ng package ng application, na hindi dapat sumasalungat kahit na nilikha ang isang sub-folder sa parehong pangalan. Mahalaga lamang ito sa antas ng ugat at ang paghawak sa antas ng ugat ay tapos na sa tulong ng pangalan ng package. Dapat pansinin na wala kaming dalawang mga application na may parehong pangalan ng package, ngunit maaari kaming magkaroon ng 2 magkakaibang mga pangalan ng db sa ilalim ng magkakaibang mga package. Pinangangalagaan ng database ng SQLite ang pag-update, pagtanggal, pagpapasok, pag-query, at pagsasara at pagbubukas ng mga pagpapatakbo ng database sa tulong ng object.

May tanong ba sa amin? Nabanggit ang mga ito sa seksyon ng mga komento at babalikan ka namin.

Mga Kaugnay na Post: