Introduktion til Android SQLite Database



Bloggen giver en introduktion til Android SQLite Database

Introduktion til Android SQLite Database

Android SQLite-databasen kræver meget lidt hukommelse (omkring 250 kb), som er tilgængelig på alle Android-enheder. Hver enhed har en indbygget understøttelse af SQLite-database, som automatisk administreres på Android lige fra oprettelse, udførelse til forespørgsel.





SQLite er en open source-database, der er tilgængelig på alle android-databaser. Det understøtter standard relationsdatabasefunktioner, som SQL-syntaks, transaktioner og SQL-sætninger. SQLite er betydeligt, den lettere version af SQL-database, hvor de fleste SQL-kommandoer ikke kører på SQLite-database. Når SQLite er på plads, er det vigtigt at sikre, at en funktion eller kommando kun er tilgængelig i SQLite, så kan den udføres.

De grundlæggende fordele ved SQLite:



  • Det er en letvægtsdatabase
  • Kræver meget lidt hukommelse
  • En automatisk administreret database

SQLite understøtter kun 3 datatyper:

  • Tekst (som streng) - til lagring af datatypelager
  • Heltal (som int) - til lagring af heltalets primære nøgle
  • Virkelig (som dobbelt) - til lagring af lange værdier

Grundlæggende validerer SQLite ikke datatyper i sig selv. Med andre ord, uanset hvilke datatyper der bruges, betegnes de som gyldige.

For eksempel er i dette tilfælde en kabeloperatørs database blevet drøftet. Her tilføjes en ny tabel med 'tekst' i navnefeltet og feltnavnfeltet med 'tekstfelt'. En datatype med tilfældig værdi er oprettet. Slutresultatet er en testtabel med en ugyldig datatype, der viser, at SQLite ikke validerer datatype.



hvordan man blander data i tableau

* Man kan finde databasen ved at klikke på pakken og få adgang til datamappen til databasemappen, som indeholder filen.

Bemærk: SQLiteOpen Helper-klassen bruges til at styre oprettelse af database og versionstyring.

Bruger spørgsmål:

Er ændringen i db version resultatet ændring af SQLite version af objektet?

Der er ingen ændringer i SQLite-versionen af ​​objektet, da den ene håndterer oprettelse / opdatering af databasen, og den anden spiller på data, der er indeholdt i tabellerne i databasen. Dermed er der slet ingen afhængighed

Når vi kommer tilbage, når vi udvider SQLiteopenHelper-klassen, overskriver vi Oncreate & OnUpgrade-metoderne i denne klasse. Når der er adgang til SQLite-databasen, kan den undertiden være langsom afhængigt af forespørgslens kompleksitet. Det foretrækkes altid at sikre, at den mindste indvirkning eller forespørgsler, der kører i rekursion, undgås, når en SQL-forespørgsel udføres. Det er det ogsåanbefales at udføre database synkront.Disse metoder håndteres automatisk eller kaldes af rammen. Det skal også bemærkes, at hver gang man øger DB-versionen, kalder den automatisk på Opgradering til den.

Når man taler om SQLite åben hjælperklasse, bliver databasens navn og version bestået i konstruktøren af ​​den udvidede klasse.

Her skal to ting tages i betragtning:

  • OnCreate () -metoden kaldes, hvis databasen ikke findes.
  • OnUpgrade () -metoden kaldes, hvis databaseversionen opdateres.

SQLite åben hjælperklasse giver navn og version i konstruktøren. Getwriteabledatabase () kaldes, og hvis databasen ikke findes, vil den OnCreate. Hvis databasen findes, og versionen opdateres, kalder den OnUpgrade ().

Er disse metoder på firstcall af db?

Lad os tage et eksempel. Når vi har installeret en applikation, opretter den OnCreate, og metoden apk uploades til Google Play Store. Når den seneste version af apk er downloadet, kontrollerer den den allerede installerede database. Hvis den har en højere version, kalder den opgradering, hvis ikke, så gør den intet.

Bruger spørgsmål

Er det nødvendigt at have brugertilladelse til at opgradere db-versionen?

Nej, tilladelsen er ikke påkrævet, da vi arbejder på applikationsressourcerne, behøver vi ikke søge tilladelse.

mine sql tutorials til begyndere

Bruger spørgsmål

Hvis bruger1 har installeret min applikation, og det er en opgraderet version til DB, og derefter bruger2 installerer ny applikation, og bruger1 opgraderer appen. I et sådant scenarie, hvis bruger1 på versionopgradering kaldes og til bruger2 oprettes metode kaldes, er alle metoderne fra android?

Ja, fordi vi ikke allerede har nogen version installeret på enheden. Det betyder ikke noget, så længe der ikke er nogen tidligere version installeret i enheden. Det er meget ligesom rammehåndtering.

Bruger spørgsmål

Kan vi have SQLite-databaseobjektet? Hvad hvis mit db-navn harkonfliktmed et andet db navn objekt?

konvertere dobbelt til int i java

Det betyder ikke noget, fordi databasen ligger på programmets pakkenavn, hvilket ikke bør være i konflikt, selvom der er oprettet en undermappe med samme navn. Det betyder kun noget på rodniveau, og rodniveauhåndteringen udføres ved hjælp af pakkenavnet. Det skal bemærkes, at vi ikke kan have to applikationer med samme pakkenavn, men vi kan have 2 forskellige db-navne under forskellige pakker. SQLite-database tager sig af opdatering, sletning, indsættelse, forespørgsel og lukning og åbning af databasehandlinger ved hjælp af objektet.

Har du et spørgsmål til os? Nævn dem i kommentarfeltet, så vender vi tilbage til dig.

Relaterede indlæg: