Tutorial de Android SQLite para Principiantes

androidsqllitetutorialSi estás iniciándote como desarrollador de aplicaciones Android, no pasará mucho tiempo hasta que necesites utilizar la potencia de las bases de datos para llevar a tus aplicaciones al siguiente nivel. Algunas apps funcionan enteramente con datos mientras que otras simplemente necesitan almacenar pequeñas cantidades de datos como la mejor puntuación de un usuario en el juego que has creado.

Sea como sea, aprender cómo usar SQLite es vital para la creación de aplicaciones en Android. Si quieres aprender a desarrollar aplicaciones Android pero todavía no dominas bien los conceptos básicos, el curso Aprende Android con Java puede ayudarte con los comienzos e incluye información práctica sobre cómo usar SQLite en tus apps.

La importancia de una solución de almacenaje de datos persistente dentro de Android OS fue pronto evidente debido al ciclo de vida poco convencional de las aplicaciones en Android. En cualquier momento, el sistema podría finalizar los componentes de una aplicación para liberar recursos. Sin una implementación adecuada de SQLite en tu aplicación, el riesgo de perdida de datos es muy real. Puede aprender más sobre el ciclo de vida en Android con este curso.

Este artículo enseña los conceptos básicos de SQLite y cómo se relaciona con el Sistema Operativo Android. Si no está familiarizado con los conceptos fundamentales de las bases de datos, puede consultar  Introducción al Diseño de Base de Datos antes de ahondar en este tutorial sobre SQLite.

¿Qué es SQLite?

SQLite es un sistema gestor de base de datos relacional (RDBMS). Lo que hace único a SQLite es que se considera una solución embebida. La mayoría de los sistemas de gestión de bases de datos como Oracle, MySQL, y SQL Server son procesos de servidor autónomos que se ejecutan independientemente. SQLite es en realidad una librería que está enlazada dentro de las aplicaciones. Todas las operaciones de base de datos se manejan dentro de la aplicación mediante llamadas y funciones contenidas en la librería SQLite. Esto son buenas noticias para tí que estás aprendiedo a usar SQLite porque hace mucho más fácil tratar grandes bases de datos en comparación con otras soluciones más convencionales de base de datos.

Por si le interesa, SQLite está realmente escrito en C y está contenido en un “envoltorio” de Java que proporciona Android SDK.

SQLite se basa en el Lenguaje Estructurado de Consultas (SQL); el mismo lenguaje que utilizn la mayoría de RDBMSs. Si SQL ya le resulta familiar de otro sistema de base de datos, ya tiene un buen camino recorrido para empezar a usar SQLite porque descubrirá que la mayoría de las sentencias se formulan de la misma forma.

Si SQL es nuevo para usted, el siguiente curso Aprende SQL es un recurso magnífico para aprender este lenguaje.

Primeros Pasos con SQLite

La forma más sencilla de entender SQLite es empezar a usarlo. Ya que Android viene con SQLite preinstalado, puede crear un entorno interactivo ejecutando una instancia del emulador Android Virtual Device (AVD).

Puede iniciar una sesión AVD utilizando el popular entorno de desarrollo Eclipse. Una vez iniciada, puede conectar una ventana de símbolo del sistema al emulador usando el siguiente comando ADB (Android Debugging Bridge):

adb -e shell

El parámetro “-e” le indica a la herramienta ADB que busque un emulador en lugar de un dispositivo físico Android. Las bases de datos SQLite se encuentran guardadas en ficheros de base de datos específicos a la aplicación que se ejecuta. Si tiene una aplicación Android con el nombre de paquete “com.udemy.myDBapp”, la base de datos SQLite para esta aplicación se encontrará en:

/data/data/com.udemy.myDBapp/databases/mydatabase.db

El nombre de la base de datos de este ejemplo es mydatabase.db pero podría llamarse de la manera que elija. Para el propósito de este ejemplo, cambie de directorio en la ventana de comandos ADB y cree una estructura de subdirectorios de forma que pueda experimentar con SQLite. Las sentencias a utilizar serían parecidas a las siguientes:

cd /data/data

mkdir com.udemy.myDBapp

cd com.udemy.myDBapp

mkdir databases

cd databases

Una vez que ha creado esta jerarquía correctamente, puede iniciar la herramienta interactiva SQLite usando este comando:

sqlite3 ./mydatabase.db

Ahora ya está preparado para comenzar a introducir comandos para crear, modificar, y borrar datos de las tablas de su base de datos SQLite.

¿Le gustaría crear aplicaciones Android sin tener que programar? ¡Consulte este curso sobre AppInventor!

Clases Java de SQLite

Recuerde que SQLite está escrito en C y envuelto en Java por el SDK de Android. Este envoltorio está formado por un conjunto de clases Java que interactúan directamente con el sistema gestor de base de datos de SQLite.

Cursor

La clase Cursor otorga acceso a los resultados de una consuta de base de datos. Por ejemplo, si usa la operación SQL SELECT, puede tener potencialmente múltiples resultados de la base de datos. La clase Cursor le permite ir paso a paso en estos resultados y podrán accederse desde el código de la aplicación.

SQLiteDatabase

Esta clase es la verdadera interfaz entre el código de su aplicación y la base de datos SQL.

Incluye funciones para realizar las operaciones basadas en SQL como INSERT, DELETE, QUERY y RAWQUERY (una sentencia de consulta SQL que devuelve los resultados en forma de objeto Cursor).

SQLiteOpenHelper

Esta clase auxiliar se diseñó para facilitar la creación y modificación de bases de datos. Por favor tenga en cuenta que esta clase debe ser una subclase dentro del código de su aplicación y contener los métodos de callback onCreate() y onUpgrade().

Aunque estas clases puedan parecer un poco confusas, este enfoque es sin duda mucho más fácil de entender que las interfaces RDBMS convencionales y debido a que SQLite es tan ligero, incluso si su código no es perfecto no debería tener ningún problema en ser capaz de crear bases de datos funcionales para sus aplicaciones Android.

La conlusión es que a menos que esté haciendo la aplicación Android más básica posible, necesita gestionar datos. SQLite hace fácil incorporar potentes características de base de datos que proporcionarán una experiencia mucho más interactiva a sus usuarios.

¿Le ha resultado interesante? ¡Consulte nuestros cursos de Tecnología en Español!