Skip to content

Caso práctico con GreenDAO: bbdd autenticación

Implementación de GreenDAO

Para la creación del nivel de persistencia de una aplicación Android, es necesario en primer lugar crear las entidades y los objetos DAO. Para ello, se recomienda crear un proyecto donde se generen todas las clases necesarias. Para ésto basta con usar GreenDAOGenerator, que se encargará de generar las entidades, los objetos DAOs y el acceso a la Base de Datos SQLite de Android.

A continuación se realizará un proyecto en Java paralelo al de Android como ejemplo, donde se implementarán las entidades y los objetos DAO de dichas entidades y se crearán los componentes de manera automática. Posteriormente trasladaremos la clase Java al proyecto Android.

En primer lugar, debemos importar al proyecto Java las librerías necesarias para el uso de GreenDAO:

  • freemaker.java
  • greenDAO-generator-javadoc.jar
  • greenDAO-generator.jar y greenDAO.jar

Todas estas librerías podemos encontrarlas en la página oficial de GreenDAO

Para añadir librerías externas a un proyecto Java, basta con realizar los siguientes pasos:

  1. Seleccionamos con botón derecho el proyecto al que deseamos añadir la librería y seleccionamos la opción “Properties”, o mediante la combinación de teclas Alt + Enter con el proyecto seleccionado.
  2. Se abrirá una nueva ventana, en la que deberemos seleccionar la opción “Java Build Path” que nos encontramos a la izquierda de la ventana.
  3. Posteriormente seleccionaremos la pestaña “Libraries” y tras esto pulsaremos el botón “Add External JARs…” situado a la derecha de la ventana.
  4. Se abrirá una nueva ventana de exploración dónde deberemos buscar la librería que deseamos añadir al proyecto (*.jar ,*.zip).
  5. Por último, una vez seleccionada la librería, pulsaremos el botón “Abrir”, y posteriormente pulsaremos sobre el botón “OK” para que se guarden los cambios realizados.

Comenzaremos creando una clase Java en nuestro proyecto de apoyo. Una vez creada, definiremos un método estático (al que llamaremos desde nuestro Método main()), donde debemos crear el esquema mediante la inicialización de la clase Schema, pasándole como argumentos la versión y el paquete donde se van a crear los componentes.

Posteriormente, definimos las entidades sobre las que se van a realizar las operaciones. Por último, se generan las entidades a partir del generador DAO, que se encuentra en la clase de.greenrobot.daogenerator.DaoGenerator, y realizamos una llamada al método generateAll(), recibiendo como parámetros la referencia al esquema y la carpeta de salida.

Tras la generación del esquema, añadiremos las entidades que creamos oportunas (tablas a nivel de Base de Datos), para posteriormente indicar las propiedades de la entidad (columnas o campos a nivel de Tablas).

En el ejemplo que nos ocupa, se creará un esquema para la creación de una Base de Datos, con una tabla, encargada de autenticar un usuario dado de alta en el sistema (Login o sistema de autenticación):

esquemaBD_ej_greenDAO


El código de la clase Java encargada de crear el esquema en el paquete indicado sería:

Referenciar el proyecto Java en Android

Una vez generada la capa de persistencia (recordemos que le indicamos el package de nuestro proyecto Android), solo necesitaremos implementar la lógica necesaria para hacer uso de los métodos definidos en nuestra capa de persistencia. Además deberemos importar la librería greenDAO.jar a nuestro proyecto Android.
Para instanciar un DAO de una entidad en una actividad Android, deberemos incluir el siguiente código:

Variables a nivel de Clase:

Dentro del método onCreate() de la Activity principal:

Métodos que nos permiten cazar el evento On Click de los diferentes botones inicializados:

  • Método Insertar nuevo Usuario:

Permite almacenar los valores de usuario y password introducidos en los componentes EditText de la interfaz de usuario. Comprobamos que los campos estén debidamente cumplimentados antes de guardar el registro:

  • Método Borrar Usuario:

Permite borrar el usuario, mediante la indicación de su identificador único de registro. Para ello, previamente deberemos comprobar si el usuario indicado existe, para posteriormente indicar el número de identificador (antes de borrar se comprueba que el campo ‘ID’ no esté vacío):

 

  • Método Comprobar existencia de Usuario:

Permite consultar si el usuario indicado en el EditText de la interfaz de usuario existe en nuestra Base de Datos (previamente a la comprobación nos aseguramos de que el campo ‘Usuario’ no esté vacío):

En el siguiente artículo de esta serie sobre ORM, te mostramos en un videotutorial cómo desarrollar este caso práctico. También, en ese artículo, podrás descargar los dos proyectos de este caso práctico en formato zip.


Autor: José Antonio Gázquez Rodríguez – Academia Android

Volver arriba
Esta web usa cookies para su correcto funcionamiento. No hay cookies de publicidad, aunque algunos de los contenidos mostrados (videos o documentos insertados) están alojados en servicios externos (Youtube, Vimeo, Box...) que sí pueden implementar sus propias cookies. También se ha incluido en pruebas un Agente AI que incluye sus propias cookies   
Privacidad