(+34) 958084455 informacion[arroba]academiaandroid.com

SQLite: ejemplo de acceso a base de datos

Post Series: SQLite: herramientas y casos prácticos de gestión de bbdd

Proyecto realizado con API SQLite

Para el siguiente ejercicio que vamos a desarrollar, hemos utilizado la API SQLite para crear una Base de Datos llamada “Ferreteria”, en la que se va a crear una tabla llamada “Ventas”, que almacenarán una lista de artículos que se irán gestionando desde la pantalla principal de la aplicación Android.

Puedes descargarte el código del proyecto completo. Te agradeceríamos que a cambio, si te es posible, nos ayudaras a difundir este tutorial  en alguna de las redes sociales cuyos iconos te aparecen a la izquierda. Gracias!

Descargar

Estructura Base de Datos

Podemos ver en la imagen de abajo, la base de datos que vamos a utilizar en el ejemplo, con los campos de la tabla que vamos a crear:

Base de datos y tabla ejemplo

 

En primer lugar crearemos un proyecto con el siguiente SDK:

 

Tras crear el proyecto, se definen en nuestra Clase MainActivity los Controles necesarios para la lógica de la aplicación:

 

Además se han definido cuatro botones encargados de lanzar los eventos On Click para las operaciones CRUD (Create-Read-Update-Delete):
Ruta:StockFerreteria/com.academiaandroid.stockferreteria/MainActivity.java

En la imagen de abajo vemos  la interfaz de nuestra aplicación, con los botones para realizar las operaciones CRUD:

interfaz aplicación Android: botones CRUD

 

Guardar un Registro:

 

Buscar un Registro por ‘Producto’:

Borrar Registro por nombre de Producto:

Modificar cualquier campo del registro:

 

Dentro del Layout se definen los siguientes controles:
Ruta: StockFerreteria/com.academiaandroid.stockferreteria/MainActivity.java:

En la imagen de abajo, vemos el Layout de la aplicación:

Layout de la aplicación Android

 

Como soporte para nuestra Activity principal se declaran dos clases:

  • Una Clase Abstracta que implementa la interfaz BaseColumns, para establecer el nombre de la tabla, y los campos ‘producto’, ‘cantidad’ y ‘seccion’ definido como Constantes, ya que su valor no será modificado: Ruta: StockFerreteria/com.academiaandroid.stockferreteria/EstructuraDatos.java:
  • Y la ClaseMiBaseDatos‘, que hereda de la Clase ‘SQLiteOpenHelper’, que implementará los métodos OnCreate() y OnUpgrade() encargados de crear y actualizar la Base de Datos:
    Ruta: StockFerreteria/com.academiaandroid.stockferreteria/MiBaseDatos.java:

This Post Has 19 Comments

    1. Discúlpanos Josué pero se había quedado sin contestar tu comentario.
      En principio, no nos están comentando ningún problema los usuarios, y hay descargas más o menos continuas de este proyecto. ¿Te sigue ocurriendo? En caso de que sí, ¿te sale algún tipo de mensaje o error?.
      Saludos

  1. Hola Muchas gracias por la informaciòn, tengo la siguiente duda, me gustaría que al seleccionar el checkbox se vea en una base de datos, como lo puedo hacer, gracias.

    1. Hola Ricardo, hemos comprobado con varios navegadores (Chrome y Firefox) que la descarga funciona bien. ¿Puedes reintentarlo por si ha sido algo puntual?
      Si te falla nuevamente ¿nos puedes decir qué error te da?
      Gracias

  2. disculpa si en ves de hacerlo con los spinner lo quiero hacer con radiobutton y checkbox como lo podria hacer para guardarlos en la base de datos y luego recuperarlos ???

    1. Perdona Rubén pero había quedado el mensaje en el filtro spam.Esperamos que hayas resuelto ya tu duda entretanto.
      A través de estos comentarios intentamos atender incidencias que podáis encontrar en nuestros contenidos (problemas para descargar algún proyecto, errores que podáis detectar en algún tutorial…) y por supuesto escuchar vuestras sugerencias.
      Para cuestiones de soporte, os rogamos consultéis los cursos online que tenemos disponibles, como el de bbdd Sqlite donde contáis un tutor os va a prestar toda la ayuda necesaria.
      Gracias

  3. Una consulta, esta base de datos donde se guarda. Me gustaria sacar una copia de la misma y guardarla en una nube como dropbox. Gracias de antemano

  4. Que tal, una consulta. Como puedo hacer para cargar en un spinner como si fuese un combobox el displaymember (descripción de un producto) y valuemember (id del producto) y guardar el id en una tabla que llamamos ventas. Luego al realizar la consulta de la venta se cargue en el spinner el producto que se guardo.

    1. Joseph, en los tutoriales que estamos publicando sobre SQLite (de nuestro curso de Programación de Apps con Android Studio: http://www.digitallearning.es/curso-android-desarrollo-aplicaciones.html) desarrollamos un ejemplo de App con un formulario con registro/consulta y eliminación de registros en una bbdd Sqlite, que utiliza un spinner y quizás puede ayudarte:
      https://academiaandroid.com/proyecto-ejemplo-de-app-android-con-bbdd-sqlite/
      Saludos

  5. Hola, no puedo descargar el codigo para seguir el ejemplo paso a paso, me lo podeis mandar al mail o resubir la descarga? Gracias por adelantado y fantastico trabajo

    1. Hola Rubén,
      te hemos contestado al email que enviastes. En principio debe ya funcionar la descarga según la prueba que hemos hecho. Si no, contacta por favor con nosotros.
      Gracias

  6. Hola, muy bueno el aporte, pero queria saber como puedo hacer para importar datos a la base de datos sqlite, y seguir las operaciones en android

  7. Estimados, una consulta.

    Bajo ese mismo codigo que esta muy bueno por cierto como podríamos hacer para agregar un ListView y que se pueda mostrar los datos de PRODUCTO y CANTIDAD de la base de datos, tipo para consultas manuales de la base y no por el programa como tal, un ListView donde se vea la base sin hacer clic ni nada solo que se muestre ni bien se ejecuta el programa.

    Gracias.

    1. Hola Andy, gracias por tu comentario.
      Para plantear cuestiones o dudas podemos ofrecerte nuestros cursos online (https://academiaandroid.com/cursos-formacion/), por ejemplo el curso de SQLite, donde hay un Tutor que te ayuda y asesora con cualquier pregunta relacionada con la materia.
      Esta web, Academia Android, solo está dedicada a la publicación de contenidos para autoformación y no contamos con ese tipo de soporte.
      Un saludo

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *