Bevezetés az Android SQLite adatbázisba



A blog bemutatja az Android SQLite adatbázist

Bevezetés az Android SQLite adatbázisba

Az Android SQLite adatbázis nagyon kevés memóriát igényel (kb. 250 kb), amely minden androidos eszközön elérhető. Minden eszköz rendelkezik beépített támogatással az SQLite adatbázishoz, amelyet az androidon automatikusan kezelnek a létrehozástól, a végrehajtástól a lekérdezés folyamatáig.





Az SQLite egy nyílt forráskódú adatbázis, amely minden androidos adatbázisban elérhető. Támogatja a standard relációk adatbázis-szolgáltatásait, például az SQL-szintaxist, a tranzakciókat és az SQL-utasításokat. Az SQLite jelentősen az SQL adatbázis könnyebb verziója, ahol az SQL parancsok többsége nem fut az SQLite adatbázisban. Miután az SQLite a helyén van, fontos biztosítani, hogy egy szolgáltatás vagy parancs csak akkor érhető el az SQLite-ben, ha végrehajtható.

Az SQLite alapvető előnyei:



  • Ez egy könnyű adatbázis
  • Nagyon kevés memóriát igényel
  • Automatikusan kezelt adatbázis

Az SQLite csak 3 adattípust támogat:

  • Szöveg (például karakterlánc) - az adattípus tárolására
  • Egész szám (például int) - egész szám elsődleges kulcs tárolására
  • Valódi (például kettős) - hosszú értékek tárolására

Alapvetően az SQLite önmagában nem ellenőrzi az adattípusokat. Más szóval, bármilyen típusú adattípust használunk, érvényesnek nevezzük őket.

Például ebben az esetben egy kábelszolgáltató adatbázisát vitatták meg. Itt egy új tábla kerül hozzáadásra, a szöveg szöveggel a névmezőben és a mezőnév mezőben, amely a „szövegmezőt” tartalmazza. Létrehoztak egy véletlenszerű érték adattípust. A végeredmény egy érvénytelen adattípust tartalmazó teszttábla, amely azt mutatja, hogy az SQLite nem érvényesíti az adattípust.



* Az adatbázist úgy találhatja meg, hogy rákattint a csomagra, és hozzáfér az adatmappához az adatbázis mappához, amely tartalmazza a fájlt.

Megjegyzés: Az SQLiteOpen Helper osztály az adatbázis-létrehozás és a verziókezelés kezelésére szolgál.

Felhasználói kérdések:

A db verzió eredményének változása az objektum SQLite verziójának változása?

Az objektum SQLite verziójában nincs változás azóta, hogy az egyik az adatbázis létrehozását / frissítését kezeli, a másik pedig az adatbázis tábláiban tárolt adatokon játszik. Ezáltal egyáltalán nincs függőség

Visszatérve, amikor kibővítjük az SQLiteopenHelper osztályt, felülírjuk az Oncreate & OnUpgrade metódusokat ebben az osztályban. Az SQLite adatbázis elérésekor ez néha lassú lehet, a lekérdezés összetettségétől függően. Mindig célszerű megbizonyosodni arról, hogy az SQL-lekérdezés végrehajtásakor elkerülik-e a legkisebb hatást vagy a rekurzióban futó lekérdezéseket. Az isajánlott az adatbázis szinkron végrehajtására.Ezeket a módszereket a keretrendszer automatikusan kezeli vagy meghívja. Azt is meg kell jegyezni, hogy valahányszor növeli a DB verzióját, automatikusan meghívja az onUpgrade programot.

Amikor valaki az SQLite nyílt segítő osztályáról beszél, annak adatbázis-nevét és verzióját átadják a kiterjesztett osztály konstruktorának.

Itt két dolgot kell figyelembe venni:

  • Az OnCreate () metódust meghívjuk, ha az adatbázis nem létezik.
  • OnUpgrade () metódust hívunk meg, ha az adatbázis verziója frissül.

Az SQLite nyitott segítő osztály megadja a nevet és a verziót a konstruktorban. A getwriteabledatabase () meghívásra kerül, és ha az adatbázis nem létezik, akkor az OnCreate lesz. Ha ebben az esetben az adatbázis létezik és a verzió frissítve van, akkor meghívja az OnUpgrade () programot.

Ezek a módszerek a db első hívásakor vannak?

Vegyünk egy példát. Miután telepítettünk egy alkalmazást, létrehozza az OnCreate-ot, és a módszer apk feltöltésre kerül a Google Play áruházba. Miután letöltötte az apk legújabb verzióját, ellenőrzi a már telepített adatbázist. Ha magasabb verziója van, akkor a frissítést hívja meg, ha nem, akkor nem tesz semmit.

Felhasználói kérdés

Szüksége van felhasználói engedélyre a db verzió frissítéséhez?

linux rendszergazda szerepek és felelősségek

Nem, az engedély nem szükséges, mivel az alkalmazás erőforrásain dolgozunk, és nem kell engedélyt kérnünk.

Felhasználói kérdés

Ha a user1 telepítette az alkalmazásomat, és ez egy frissített verzió a DB számára, akkor ezt követően a user2 új alkalmazást telepít, a user1 pedig frissíti az alkalmazást. Ilyen esetekben, ha meghívják a version1 verzió frissítését és a user2 létrehozási metódust hívják meg, akkor az összes módszer az androidból származik?

Igen, mert még nincs telepítve egyetlen verzió sem az eszközre. Nem számít, mindaddig, amíg nincs korábbi verzió telepítve az eszközre. Nagyon hasonlít a keretrendszer kezeléséhez.

Felhasználói kérdés

Rendelkezhetünk SQLite adatbázis objektummal? Mi van, ha a db nevem megvankonfliktusegy másik db név objektummal?

Ez nem számít, mert az adatbázis az alkalmazás csomagnevén található, ami akkor sem lehet ellentmondásos, ha az azonos nevű almappát létrehozták. Csak gyökér szinten számít, és a gyökér szintű kezelés a csomagnév segítségével történik. Meg kell jegyezni, hogy nem lehet két alkalmazásunk azonos csomagnévvel, de 2 különböző db név lehet különböző csomagok alatt. Az SQLite adatbázis gondoskodik az objektum segítségével az adatbázis műveletek frissítéséről, törléséről, beillesztéséről, lekérdezéséről, valamint az adatbázis műveletek bezárásáról és megnyitásáról.

Van egy kérdésünk? Említse meg őket a megjegyzések részben, és mi kapcsolatba lépünk Önnel.

Kapcsolódó hozzászólások: