ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Conceptualismo


Enviado por   •  17 de Marzo de 2015  •  5.079 Palabras (21 Páginas)  •  224 Visitas

Página 1 de 21

PRÁCTICA 1: USO DE SQLITE EN ANDROID

Objetivo

Desarrollar un conjunto de aplicaciones que permitan describir el funcionamiento del

almacenamiento de información en SQLite haciendo uso de Android.

Introducción

SECCIÓN 1

En los siguientes puntos de esta práctica, se van a tratar de describir las distintas opciones de

acceso a datos que proporciona la plataforma y en cómo se pueden realizar las tareas más

habituales dentro de este apartado.

La plataforma Android proporciona dos herramientas principales para el almacenamiento y

consulta de datos estructurados:

 Bases de Datos SQLite

 Content Providers

Esta práctica se centra en la primera opción, SQLite, que abarcará todas las tareas relacionadas

con el almacenamiento de los datos propios de una aplicación. El segundo de los mecanismos,

los Content Providers, que se trataran más adelante, facilitará la tarea de hacer visibles esos datos

a otras aplicaciones y, de forma recíproca, de permitir la consulta de datos publicados por terceros

desde una aplicación.

SQLite es un motor de bases de datos muy popular en la actualidad para ofrecer características tan

interesantes como su pequeño tamaño, no necesita servidor, precisa poca configuración,

es transaccional y por supuesto ser de código libre.

Android incorpora de serie todas las herramientas necesarias para la creación y gestión de bases

de datos SQLite, y entre ellas una completa API para llevar a cabo de manera sencilla todas las

tareas necesarias. Sin embargo, en este primer artículo sobre bases de datos en Android se va a

entrar en mucho detalle con esta API. Por el momento se limitará a ver el código necesario para

crear una base de datos, se insertará algún dato de prueba, y se verá cómo se puede comprobar

que todo funciona correctamente.

En Android, la forma típica para crear, actualizar, y conectar con una base de datos SQLite será a

través de una clase auxiliar llamada SQLiteOpenHelper, o para ser más exactos, de una clase

propia que derive de ella y que se debe personalizar para adaptarse a las necesidades concretas de

la aplicación.

La clase SQLiteOpenHelper tiene tan sólo un constructor, que normalmente no necesita

sobrescribirse, y dos métodos abstractos, onCreate() y onUpgrade(), que se deberá personalizar

con el código necesario para crear la base de datos y para actualizar su estructura

respectivamente.

Como ejemplo, se creará una base de datos muy sencilla llamada BDUsuarios, con una sola tabla

llamada Usuarios que contendrá sólo dos campos: nombre y email. Para ello, se va a crear una

clase derivada de SQLiteOpenHelper que se llama UsuariosSQLiteHelper, donde se sobrescriben

los métodos onCreate() y onUpgrade()para adaptarlos a la estructura de datos indicada:

packagenet.sgoliver.android.bd;

import android.content.Context;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteDatabase.CursorFactory;

import android.database.sqlite.SQLiteOpenHelper;

public class UsuariosSQLiteHelper extends SQLiteOpenHelper {

//Sentencia SQL para crear la tabla de Usuarios

String sqlCreate = "CREATE TABLE Usuarios (codigo INTEGER, nombre TEXT)";

public UsuariosSQLiteHelper(Context contexto, String nombre,

Cursor Factoryfactory, int version) {

super(contexto, nombre, factory, version);

}

@Override

public void onCreate(SQLiteDatabasedb) {

//Se ejecuta la sentencia SQL de creación de la tabla

db.execSQL(sqlCreate);

}

@Override

public void onUpgrade(SQLiteDatabasedb, intversionAnterior, intversionNueva) {

//NOTA: Por simplicidad del ejemplo aquí utilizamos directamente la opción de

// eliminar la tabla anterior y crearla de nuevo vacía con el nuevo formato.

// Sin embargo lo normal será que haya que migrar datos de la tabla antigua

// a la nueva, por lo que este método debería ser más elaborado.

//Se elimina la versión anterior de la tabla

db.execSQL("DROP TABLE IF EXISTS Usuarios");

//Se crea la nueva versión de la tabla

db.execSQL(sqlCreate);

}

}

Lo primero que se hace es definir una variable llamado sqlCreate donde se almacena la

sentencia SQL para crear una tabla llamada Usuarios con los campos

alfanuméricos nombre e email. Para más información sobre SQLite se puede consultar

la documentación oficial.

El método onCreate() será ejecutado automáticamente por la

clase UsuariosDBHelper cuando sea necesaria la creación de la base de datos, es

decir, cuando aún no exista. Las tareas típicas que deben hacerse en este método serán

la creación de todas las tablas necesarias y la inserción de los datos iniciales si son

necesarios. En este caso, sólo se va a crear la tabla Usuarios descrita anteriormente.

Para la creación de la tabla se utilizará la sentencia SQL ya definida y se ejecutará contra

la base de datos utilizando el método más sencillo de los disponibles en la API de SQLite

proporcionada por Android, llamado execSQL(). Este método se limita a ejecutar

directamente el código SQL que se le pase como parámetro.

Por su parte, el método onUpgrade() se lanzará automáticamente cuando sea

necesaria una actualización de la estructura de la base de datos o una conversión de los

datos. Un ejemplo práctico: imagine que se publica una aplicación que utiliza una tabla

con los camposusuario e email (llamada versión 1 de la base de datos). Más

adelante, se amplia la funcionalidad de la aplicación y se necesita que la tabla también

incluya un campo adicional como por ejemplo con la edad del usuario (versión 2 de la

base de datos). Pues bien, para que todo funcione correctamente, la primera vez que se

ejecute la versión ampliada de la aplicación se necesitará modificar la estructura de la

tabla Usuarios para añadir el nuevo campo edad. Pues este tipo de cosas son las que

se encargará de hacer automáticamente el método onUpgrade() cuando se intente abrir

una versión concreta de la base de datos que aún no exista. Para ello, como parámetros

recibe la versión actual de la base de datos en el sistema, y la nueva versión a la que se

...

Descargar como (para miembros actualizados) txt (46 Kb)
Leer 20 páginas más »
Disponible sólo en Clubensayos.com