Introducció a la base de dades SQLite d'Android

El bloc proporciona una introducció a la base de dades SQLite d'Android



Introducció a la base de dades SQLite d'Android

La base de dades SQLite d'Android requereix molt poca memòria (al voltant de 250 KB), que està disponible a tots els dispositius Android. Tots els dispositius tenen un suport integrat per a la base de dades SQLite, que es gestiona automàticament a Android des de la seva creació, fins a l’execució fins al procés de consulta.



SQLite és una base de dades de codi obert, disponible a totes les bases de dades d'Android. Admet funcions de base de dades de relacions estàndard, com ara sintaxi SQL, transaccions i sentències SQL. SQLite és considerablement la versió més lleugera de la base de dades SQL, on la majoria de les ordres SQL no s’executen a la base de dades SQLite. Un cop SQLite estigui al seu lloc, és important assegurar-se que una característica o ordre estigui disponible a SQLite només després es podrà executar.

Els avantatges bàsics de SQLite:



  • És una base de dades lleugera
  • Requereix molt poca memòria
  • Una base de dades gestionada automàticament

SQLite només admet 3 tipus de dades:

  • Text (com una cadena): per emmagatzemar tipus de dades
  • Enter (com int): per emmagatzemar la clau principal sencera
  • Real (com el doble): per emmagatzemar valors llargs

Bàsicament SQLite no valida els tipus de dades per si mateix. En altres paraules, qualsevol tipus de dades que s’utilitzi, s’anomena vàlid.

Per exemple, en aquest cas, s'ha discutit la base de dades d'un operador de cable. Aquí s’afegeix una nova taula amb ‘text’ al camp de nom i al quadre de nom de camp que porta ‘textfield’. S'ha creat un tipus de dades de valor aleatori. El resultat final és una taula de prova amb un tipus de dades no vàlid, que mostra que SQLite no valida el tipus de dades.



* Es pot trobar la base de dades fent clic al paquet i accedint a la carpeta de dades a la carpeta de la base de dades, que conté el fitxer.

Nota: La classe SQLiteOpen Helper s'utilitza per gestionar la creació de bases de dades i la gestió de versions.

Preguntes de l'usuari:

El resultat del canvi en la versió db és el canvi de la versió SQLite de l'objecte?

No hi ha cap canvi a la versió SQLite de l'objecte, ja que un gestiona la creació / actualització de la base de dades, i l'altre juga amb les dades de les taules de la base de dades. Per tant, no hi ha cap dependència

En tornar, quan ampliem la classe SQLiteopenHelper, sobreescrivim els mètodes Oncreate & OnUpgrade d’aquesta classe. Quan s’accedeix a la base de dades SQLite, de vegades pot ser lenta, en funció de la complexitat de la consulta. Sempre es prefereix assegurar-se que s’eviten el menor impacte o les consultes que s’executen en recursió quan s’executa una consulta SQL. També ho éses recomana realitzar la base de dades de manera sincronitzada.Aquests mètodes són gestionats o cridats automàticament pel framework. A més, cal tenir en compte que cada vegada que augmenteu la versió de la base de dades, cridarà automàticament a l’actualització.

Sempre que es parla de la classe ajudant oberta de SQLite, el nom i la versió de la base de dades passen al constructor de la classe ampliada.

Aquí cal tenir en compte dues coses:

com comprovar si hi ha palíndrom a Java
  • Es diu el mètode OnCreate (), si la base de dades no existeix.
  • Es diu el mètode OnUpgrade () si s’actualitza la versió de la base de dades.

La classe d’ajudant obert SQLite dóna el nom i la versió al constructor. Es crida la getwriteabledatabase () i, si la base de dades no existeix, es crearà OnCreate. Si en el cas, la base de dades existeix i la versió està actualitzada, es cridarà a OnUpgrade ().

Són aquests mètodes a firstcall de db?

Prenguem un exemple. Un cop instal·lem una aplicació, crearà OnCreate i el mètode apk es penjarà a Google Play Store. Un cop descarregada l’última versió de l’apk, comprovarà la base de dades ja instal·lada. Si té una versió superior, cridarà actualització, si no, no farà res.

algorisme de classificació c ++

Pregunta de l'usuari

Cal tenir el permís de l'usuari per actualitzar la versió de db?

No, el permís no és necessari, ja que estem treballant en els recursos de l’aplicació, no hem de demanar permís.

Pregunta de l'usuari

Si user1 ha instal·lat la meva aplicació i és una versió actualitzada per a DB i, posteriorment, user2 instal·la una nova aplicació i l'usuari1 actualitza l'aplicació. En aquest cas, si es crida l'usuari 1 a l'actualització de la versió i es diu el mètode de creació de l'usuari 2, tots els mètodes són d'Android?

Sí, perquè ja no tenim cap versió instal·lada al dispositiu. No importa, sempre que no hi hagi cap versió anterior instal·lada al dispositiu. S’assembla molt al maneig de marcs.

Pregunta de l'usuari

Podem tenir l'objecte de base de dades SQLite? Què passa si el meu nom de DB téconflicteamb un altre objecte nom db?

No importa, perquè la base de dades resideix en el nom del paquet de l’aplicació, que no hauria de ser conflictiu fins i tot si s’ha creat una subcarpeta amb el mateix nom. Només importa a nivell d'arrel i la gestió del nivell d'arrel es fa amb l'ajuda del nom del paquet. Cal tenir en compte que no podem tenir dues aplicacions amb el mateix nom de paquet, però podem tenir 2 noms de db diferents sota paquets diferents. La base de dades SQLite s’encarrega de l’actualització, supressió, inserció, consulta i tancament i obertura d’operacions de la base de dades amb l’ajut de l’objecte.

Tens alguna pregunta? Esmenta’ls a la secció de comentaris i et respondrem.

Articles Relacionats: