Introduktion till Android SQLite Database



Bloggen ger en introduktion till Android SQLite Database

Introduktion till Android SQLite Database

Android SQLite-databasen kräver mycket lite minne (cirka 250 kb), vilket är tillgängligt på alla Android-enheter. Varje enhet har ett inbyggt stöd för SQLite-databasen, som automatiskt hanteras på Android direkt från dess skapande, körning till frågeställningsprocessen.





SQLite är en öppen källkodsdatabas, tillgänglig i alla Android-databaser. Den stöder standardrelationsdatabasfunktioner, som SQL-syntax, transaktioner och SQL-uttalanden. SQLite är betydligt, den lättare versionen av SQL-databasen, där de flesta SQL-kommandon inte körs på SQLite-databas. När SQLite är på plats är det viktigt att se till att en funktion eller kommando är tillgänglig i SQLite först då kan den köras.

De grundläggande fördelarna med SQLite:



  • Det är en lätt databas
  • Kräver väldigt lite minne
  • En automatiskt hanterad databas

SQLite stöder endast 3 datatyper:

  • Text (som sträng) - för lagring av datatypbutik
  • Heltal (som int) - för lagring av heltalets primära nyckel
  • Verkligt (som dubbelt) - för att lagra långa värden

I grund och botten validerar SQLite inte datatyper i sig. Med andra ord, oavsett vilken datatyp som används, betecknas de som giltiga.

I det här fallet har till exempel en kabeloperatörs databas diskuterats. Här läggs en ny tabell till med 'text' i namnfältet och fältnamnsrutan med 'textfält'. En datatyp av slumpmässigt värde har skapats. Slutresultatet är en testtabell med en ogiltig datatyp, som visar att SQLite inte validerar datatyp.



* Man kan hitta databasen genom att klicka på paketet och komma åt datamappen till databasmappen, som innehåller filen.

vad innehåller den__

Obs !: SQLiteOpen Helper-klassen används för att hantera skapande av databaser och versionhantering.

Användarfrågor:

Är ändringen i db-versionens resultat ändring av SQLite-versionen av objektet?

Det finns ingen förändring i SQLite-versionen av objektet eftersom en hanterar skapande / uppdatering av databas, och den andra spelar på data som hålls i tabellerna i databasen. Därmed finns det inget beroende alls

När vi kommer tillbaka när vi utökar klassen SQLiteopenHelper skriver vi över metoderna Oncreate & OnUpgrade i den här klassen. När SQLite-databasen nås kan den ibland gå långsamt, beroende på frågan. Det föredras alltid att se till att den minsta påverkan eller frågor som körs i rekursion undviks när en SQL-fråga körs. Det är det ocksårekommenderas att utföra databasen synkront.Dessa metoder hanteras automatiskt eller anropas av ramverket. Det måste också noteras att när man ökar DB-versionen kommer den automatiskt att uppgradera till den.

När man pratar om SQLite öppen hjälparklass, skickas databasnamnet och versionen i konstruktören för den utökade klassen.

Här ska två saker tas med i beräkningen:

  • OnCreate () -metoden anropas om databasen inte finns.
  • OnUpgrade () -metoden anropas om databasversionen uppdateras.

SQLite öppen hjälparklass ger namn och version i konstruktören. Getwriteabledatabase () anropas och om databasen inte finns kommer den att OnCreate. Om databasen existerar och versionen uppdateras kommer den att ringa OnUpgrade ().

Finns dessa metoder vid första anrop av db?

Låt oss ta ett exempel. När vi har installerat en applikation skapas OnCreate och metoden apk laddas upp till Google Play Store. När den senaste versionen av apk har laddats ner kontrollerar den den redan installerade databasen. Om den har en högre version kommer den att ringa uppgradering, om inte, gör den ingenting.

Användarfråga

Krävs det att du har behörighet att uppgradera db-versionen?

Nej, behörigheten krävs inte eftersom vi arbetar med applikationsresurserna behöver vi inte söka tillstånd.

Användarfråga

Om user1 har installerat min applikation och det är en uppgraderad version för DB och därefter installerar user2 ny applikation och user1 uppgraderar appen. I ett sådant scenario, om user1 vid versionuppgradering anropas och för user2 create-metod kallas, är alla metoder från android?

Ja, eftersom vi inte har någon version redan installerad på enheten. Det spelar ingen roll så länge det inte finns någon tidigare version installerad i enheten. Det är väldigt mycket som ramhantering.

Användarfråga

Kan vi ha SQLite-databasobjektet? Vad händer om mitt db-namn harkonfliktmed ett annat db-namnobjekt?

Det spelar ingen roll, eftersom databasen ligger på programmets paketnamn, vilket inte borde vara i konflikt även om en undermapp med samma namn har skapats. Det spelar bara roll på rotnivå och rotnivåhanteringen görs med hjälp av paketnamnet. Det måste noteras att vi inte kan ha två applikationer med samma paketnamn, men vi kan ha två olika db-namn under olika paket. SQLite-databas tar hand om uppdatering, radering, infogning, frågeställning och stängning och öppning av databasåtgärder med hjälp av objektet.

hur man använder befogenheter i java

Har du en fråga till oss? Nämn dem i kommentarfältet så återkommer vi till dig.

Relaterade inlägg: