Curso de Android con Java: Almacenamiento mediante la base de datos SQLite
Summary
TLDREl script detalla cómo almacenar datos en una aplicación Android utilizando una base de datos SQLite. Se crea una clase que extiende SQLiteOpenHelper para gestionar la creación y actualización de la base de datos. Se implementa una interfaz de usuario para agregar, consultar, borrar y modificar datos de vehículos en una tabla llamada 'vehículos'. El proceso incluye la definición de un constructor, la creación de la base de datos y tablas, y la implementación de métodos para insertar, buscar, eliminar y actualizar registros. Además, se utiliza Android Studio para probar y depurar la aplicación, asegurándose de que los datos se manejen correctamente.
Takeaways
- 📚 Se discute la implementación de una base de datos en una aplicación Android para almacenar información de vehículos en venta.
- 🔨 Se presenta la idea de utilizar SQLite como la forma más sofisticada para almacenar datos en aplicaciones Android.
- 🛠 Se crea una clase llamada 'SQLiteOpenHelper' que es crucial para extender la clase de base de datos y manejar la creación y actualización de tablas.
- 🔑 Se menciona la importancia del constructor de la clase 'SQLiteOpenHelper' para establecer la versión de la base de datos y crear tablas.
- 🏗️ Se describe el proceso de creación de la interfaz visual del proyecto utilizando un LinearLayout antes de trabajar con la base de datos.
- 🔍 Se implementa un método para agregar filas a la tabla 'vehículos' con campos como patente, marca, modelo y precio.
- 🔄 Se explica cómo utilizar un objeto 'ContentValues' para insertar datos en la base de datos y cómo llamar al método 'insert' para agregar filas.
- 🔎 Se presenta un método para consultar datos por patente utilizando un 'Cursor' y cómo ejecutar una consulta SQL para buscar filas específicas.
- 🗑️ Se detalla el proceso de eliminación de filas en la tabla 'vehículos' basándose en una patente específica y cómo utilizar el método 'delete'.
- 🛠️ Se muestra cómo modificar datos en la base de datos, pasando los nuevos valores y la condición para identificar la fila a modificar.
- 🔧 Se utiliza el 'Database Inspector' de Android Studio para verificar la inserción, consulta, eliminación y modificación de datos en la base de datos.
Q & A
¿Qué métodos de almacenamiento de datos en Android se discuten en el script?
-El script discute principalmente la implementación de una base de datos SQLite para almacenar datos en una aplicación Android, utilizando la clase SQLiteOpenHelper y métodos como onCreate y onUpgrade.
¿Cuál es el propósito de la clase SQLiteOpenHelper mencionada en el script?
-La clase SQLiteOpenHelper es utilizada para gestionar la creación y actualización de la base de datos SQLite en una aplicación Android, permitiendo la creación de tablas y la gestión de versiones de la base de datos.
¿Cuántas columnas tiene la tabla 'vehículos' y cuáles son sus tipos de datos?
-La tabla 'vehículos' tiene cuatro columnas: patente (tipo text), marca (tipo text), modelo (tipo integer) y precio (tipo real).
¿Qué constructor de la clase SQLiteOpenHelper se utiliza en el script y qué parámetros recibe?
-Se utiliza el constructor de la clase SQLiteOpenHelper que recibe cuatro parámetros: el contexto de la aplicación, el nombre de la base de datos, una factoría de cursores y la versión de la base de datos.
¿Qué métodos deben ser implementados por la clase que extiende SQLiteOpenHelper según el script?
-Según el script, los métodos que deben ser implementados son onCreate y onUpgrade.
¿Qué hace el método onCreate de SQLiteOpenHelper en el script?
-El método onCreate se encarga de crear la base de datos y sus tablas cuando es llamado por primera vez. En el script, se utiliza para crear una única tabla 'vehículos'.
¿Cómo se implementa la inserción de datos en la tabla 'vehículos' en el script?
-La inserción de datos se implementa mediante el uso del método insert() del objeto SQLiteDatabase, pasando como parámetros el nombre de la tabla, null y un ContentValues objeto que contiene los valores a insertar.
¿Cómo se realiza la consulta de datos por patente en la tabla 'vehículos' según el script?
-La consulta se realiza utilizando un objeto SQLiteCursor, ejecutando un comando SQL que selecciona los datos de la tabla 'vehículos' donde el campo 'patente' coincide con el valor proporcionado, utilizando comillas simples para delimitar el texto.
¿Cómo se implementa la eliminación de datos en la tabla 'vehículos' en el script?
-La eliminación de datos se implementa mediante el método delete() del objeto SQLiteDatabase, pasando como parámetros el nombre de la tabla, una condición (donde el campo 'patente' es igual al valor proporcionado) y los valores a comparar.
¿Cómo se implementa la modificación de datos en la tabla 'vehículos' según el script?
-La modificación de datos se implementa utilizando el método update() del objeto SQLiteDatabase, pasando como parámetros el nombre de la tabla, un ContentValues objeto con los nuevos valores, una condición de selección y los valores a comparar.
¿Qué herramienta se utiliza en el script para inspeccionar y depurar la base de datos durante el desarrollo?
-Se utiliza la herramienta Database Inspector en Android Studio para inspeccionar y depurar la base de datos, permitiendo visualizar y modificar datos en tiempo real.
Outlines
😀 Introducción a la implementación de una base de datos en Android
El primer párrafo introduce el tema de almacenar datos en aplicaciones Android utilizando una base de datos relacionales. Se describe el proceso para crear una aplicación que maneje la información de vehículos en venta, con una tabla 'vehículos' que contiene campos como patente, marca, modelo y precio. Se menciona la creación de un proyecto llamado 'Existir Proyectos' y la necesidad de crear una clase que extienda 'SQLiteOpenHelper' para gestionar la base de datos y las tablas. También se discute la implementación de dos métodos, 'onCreate()' y 'onUpgrade()', y se señala la importancia del constructor para definir la estructura de la base de datos.
😉 Configuración de la clase y métodos para la base de datos
En el segundo párrafo, se profundiza en la creación de la clase 'SQLiteOpenHelper' llamada 'EfeLife', la cual es responsable de crear y actualizar la base de datos. Se describe el uso del constructor para establecer el contexto, el nombre de la base de datos, una factoría y la versión. Se menciona la implementación del método 'onCreate()' para crear la tabla 'vehículos' y se proporciona un ejemplo de cómo se estructura la creación de la tabla utilizando 'execSQL()'. Además, se sugiere la posibilidad de no hacer nada en 'onUpgrade()' si no se contemplan cambios en la estructura de la base de datos.
🎯 Desarrollo de la interfaz y funcionalidad de agregar vehículos
Este párrafo se enfoca en el desarrollo de la interfaz de usuario y la funcionalidad para agregar vehículos a la base de datos. Se describe el uso de un formulario con campos para la patente, marca, modelo y precio, y cómo se implementa el botón para agregar filas a la tabla de vehículos. Se menciona la necesidad de crear objetos de la clase 'ContentValues' para almacenar los datos y el uso del método 'insert()' para insertar nuevos registros en la base de datos. También se destaca la importancia de pasar los datos correctos y la posibilidad de no realizar validaciones en este momento.
🔎 Implementación de la funcionalidad de consulta por patente
El cuarto párrafo aborda la implementación de una función para consultar vehículos por patente. Se describe cómo se utiliza el objeto 'Cursor' para realizar la consulta y cómo se extraen los datos de la fila que cumple con la condición de la patente. Se menciona el uso de un botón para activar la búsqueda y cómo se muestra el resultado de la consulta en la interfaz de usuario. Además, se sugiere la posibilidad de mostrar un mensaje si no se encuentra ningún vehículo con la patente ingresada.
🗑 Desarrollo de la funcionalidad de borrado de vehículos
En el quinto párrafo, se detalla cómo se implementa la funcionalidad para eliminar vehículos de la base de datos por su patente. Se describe el uso del método 'delete()' y cómo se especifica la condición de la patente para borrar la fila correspondiente. Se menciona la necesidad de pasar el número de filas afectadas y cómo se muestra un mensaje al usuario si se eliminó un vehículo o si no se encontró ningún vehículo con la patente especificada. También se sugiere verificar la eliminación utilizando el 'Database Inspector'.
✏️ Implementación de la funcionalidad de modificación de datos
El sexto y último párrafo se enfoca en la implementación de la funcionalidad para modificar datos de vehículos en la base de datos. Se describe cómo se utiliza el método 'update()' para cambiar la marca, el modelo y el precio de un vehículo por su patente. Se menciona la necesidad de pasar la condición y los nuevos valores a actualizar, y cómo se muestra un mensaje al usuario si se modificó el vehículo o si no se encontró ningún vehículo con la patente especificada. También se sugiere verificar la modificación utilizando el 'Database Inspector' y se concluye el tema explicando las herramientas básicas utilizadas en Android Studio para implementar las operaciones de agregar, consultar, borrar y modificar datos.
Mindmap
Keywords
💡Almacenamiento de datos
💡Base de datos
💡Tabla
💡Patente
💡Actividad (Activity)
💡SQLiteOpenHelper
💡Constructor
💡Métodos
💡Consultas SQL
💡Cursor
💡Depuración
Highlights
Introducción a la tercera forma de almacenar datos en aplicaciones Android utilizando una base de datos.
Propósito de almacenar información de partículas y vehículos en venta en una base de datos.
Creación de una única tabla 'vehículos' con campos patente, marca, modelo y precio.
Implementación de una aplicación para agregar, establecer, consultar, borrar y modificar datos.
Uso de SQLite para manejar la base de datos en el proyecto 'existir proyectos'.
Creación de una clase extendida de SQLiteOpenHelper para gestionar la base de datos.
Implementación de dos métodos: onCreate y onUpgrade en la clase SQLiteOpenHelper.
Estructuración del constructor de la clase para recibir contexto, nombre de la base de datos, factory y versión.
Explicación del uso del método execSQL para crear una tabla en la base de datos.
Diseño de la interfaz visual del Activity principal para capturar datos de vehículos.
Uso de EditText para ingresar datos de patente, marca, modelo y precio.
Implementación del método para agregar filas a la tabla de vehículos.
Creación de un objeto ContentValues para almacenar datos de los campos antes de insertarlos.
Uso del método insert para agregar un nuevo registro a la tabla.
Validación de la inserción de datos mediante el uso de un mensaje de confirmación.
Consulta de datos por patente utilizando un botón y un método específico.
Implementación de la lógica para recuperar datos de una fila específica de la tabla.
Uso del Cursor para iterar y mostrar los resultados de la consulta.
Búsqueda de un vehículo específico por su patente y visualización de sus detalles.
Eliminación de filas de la tabla de vehículos mediante un botón y un método de borrado.
Implementación del método delete para eliminar registros de la tabla de vehículos.
Modificación de datos en la tabla de vehículos, como actualizar la marca, modelo y precio.
Uso del método update para cambiar los datos de un registro específico en la tabla.
Prueba de las funcionalidades de agregar, consultar, borrar y modificar con la herramienta Database Inspector.
Conclusión del tutorial mostrando las herramientas básicas de Android Studio para trabajar con SQLite.
Transcripts
bueno vamos a ver ahora la tercera forma
para almacenar datos en nuestras
aplicaciones en android la forma más
sofisticada de utilizar una base de
datos es circular
vamos a trabajar con un pequeño problema
vamos a almacenar en una base y las
partículas y la información de vehículos
en venta vamos a trabajar en nuestra
base de datos con una única tabla la
tabla vehículos llévate cuatro campos
las patentes que iba a ser tipo text
primer equinos puede haber los vehículos
con el mismo patente marca modelo precio
entonces vamos a implementar la
aplicación que permita agregar y las
estables los consultar borrar y
modificar datos próximos a crear el
proyecto utilicemos el ente activity
le vamos a llamar existir proyectos
siglo 20
lo primero que vamos a hacer antes de
armar la interfaz visual es crear
las bases se complementan una clase
vamos a crear nuestro partido y cada
clase y lo vamos a llamar
efe life of en él
importante que esta clase es la tea para
estirar la base de datos y
de la clase que es circular
oppenheim
si esta clase nosotros vamos a crear un
objeto esta clase y de la agilidad no se
conoce todo lo necesario para crear las
tablas por ejemplo tener la voz y datos
y las tablas de la base de datos pero
como vemos al debido a esta clase y nos
dice que debemos implementar
dos métodos que es que los hicieron
apure
hacemos que se creen y antes lo
activamos hacerlos concretos había un
mitin era un error porque está faltando
plantear el constructor el constructor
vamos a
cuando seleccionemos hay tres
posibilidades de plantear vamos utiliza
el primer constructor que tiene cuatro
parámetros donde el pasamos el context
que es la referencia del activity el
nombre la base de datos
factory un curso al factor y que no lo
usaremos pasan wall y la versión de la
base de datos anuncia el método acción
uno este constructor ya desaparece en
traidores ni lonja yate es donde vamos a
crear la base de datos la tabla de la
base datos pero ya que cuando lo el
constructor es el que cuando va a
identificar con un ciclo acierto se creó
aciertos ya que no quería clic uno
crearía todas las tablas eventualmente
no tengo crear una sola tabla la clase
de circular y tratábase el ático no sé
cómo crear tablas llamando al método exe
que se cuele el método estemos pasarle
un extremo con es criticable lo vamos a
copiar que hemos dicho que tenemos que
crear esta tabla
copio y pego este string
bueno acá no lo pongo perfectamente el
androide estudio y esto a su vez que
justamente una sola vez cuando se cree
la base de datos para esa versión
demasiada todos los datos de ese que
justamente aumentó cuando uno va
cambiando versión de base de datos y
hace modificaciones en las aplicaciones
por ahora no vamos a hacer nada como de
sabathia que el contrapoder ahí o sea
solamente se va a crear la tabla
bueno ahora vamos al activity main vamos
a crear la interfaz visual
vamos a usar esto para usar un con 30
diaw vamos a cambiarlo y vamos a
convertirlo a un lineal de allá o
un guiño a la horizontal lo queremos
vertical de acá ya practicar y vamos a
pedir primero
los datos que pide carga hemos dicho
patente marca modelo precio está patente
si este de bistec patente
vamos a hacer que no para estrenar
agradablemente y en el gym que la
patente
la marca
también un plan téc
para ser de marca
seguidamente vamos a ir poner fácil
y en el gym dispongamos marca el modelo
que va a ser un número entero number
este modelo
el gym
modelos
y el precio te va a ser verdad con
decimal e inclusive
este edil de flexión
que aparezca un fin
y estos son los cuatro campos que vamos
a cargar mediante un botón
abrimos la primera actividad que será la
de agregar
agregar agregar filas de las tablas de
vehículos
vamos a hacer para él un clic
el método agrega
de reagan por supuesto que tenemos que
modificar los vamos al main activity
tengo que definir
vamos a importar la clase
el itec editec
dijimos patente edite
marta
y el precio
obtenemos la referencia en lo que viene
[Música]
téc
potente de marca
de marcha
este modelo
y nos falta un solo clic presión
que obtuvimos de referencia de los
cuatro objetos visuales y vamos a
agregar
el agregar
en la tabla de vehículos
4 pero qué le vamos a hacer es crear
unos objetos que la clase admin es
circular con herbert los digo que nos
del hombre ponemos y villamar
en el hombre
igual han ido a especular y shopping
center y yo tengo que pasar a parámetros
primero a las referencias de este
activity el nombre lo hace datos que con
éste
de uno
un aspecto clase curso el factor y
eventualmente un número porque permite
los números para buscar la versión de
paz y datos trabajando en la 1 aumento y
no si no hace cambios de la estructura
futuro solamente para poner la primera
versión y una sola vez se va a ejecutar
a unos griegos
en el agregar lo primero que hay que
hacer es
serían unos circulares de la base
y gral
de base
y como lo creamos llamando de ese objeto
jardín que acabamos de crear llamamos
como semana modificado we cables de alta
base de estables alta base
ya tenemos en este momento abierta la
base de datos ahora tenés que llamar un
método in ser de este objeto pero previo
a esto creamos un objeto clase con tim
bauer y básicamente este concepto de
tipo con ten valor
y vamos a pasar los datos de los campos
de la tabla mediante
el método books yo voy indicando el 1er
para nuestro base un sting con el nombre
de campo
y el primer parámetro que es el nombre
campos los campos los dichos que te
llaman
patente más del precio patentes donde
sea como los datos de le diste patente
traemos no vamos a hacer ninguna
validación pues queríamos que el
operador a carrera del tractor
perfectamente patente
marca
y te marca
modelo
y el último campo es el precio
en cualquier orden
bueno ahí extraje de los que diste y
descargo todos los datos en este objeto
casi con tim bauer recién en este
momento vamos a llamar del objeto bebé
al método in ser donde tenemos que pasar
de
inter
el primer parámetro es un extremo con el
nombre de la tabla tablas de vehículos
este segundo pasamos
y el último que se contempla o sea el
objeto se registró acá se encarga este
método inicial ya la estamos pasando
todo el nombre la tabla los campos y los
valores para los campos ya se encarga el
método in ser si uno viera el código
fuente vería que genera que coman
inicial de ese cuello
si esto esto funciona bien el edicto
vamos a borrar existe patente
en bandas de marcas
20
modelos
finalmente evite predicción
cerramos la
conexión con abbas y datos llamando el
mito cloud
bueno ya podemos probar a ver si
funciona la inserción de filas de la
tabla
vamos a ejecutar
cuando tenemos ingresar una patente
presa que es una sorprendente país por
fiestas
moverlo 2010
y 10.000 pesos precio agregar
podemos mostrar un mensaje que al máximo
el vehículo cambian
aguas
vamos a ver una herramienta que tiene
android estudio actualmente youtube yo
trataba sin sector
vamos a ver si podemos
visualizar
nos conectamos para que cuando yo cal
con carrero está patente
los bloqueos
40 mil 927
5000 agregar fíjense que esta
herramienta hidrata más inspector los
demás insectos nos permite ver la base
de datos y las tablas que a innovación y
de uno que hemos creado y yo las
seleccionados
podemos sacar ver
los datos inclusive si ponemos en la
capital y ejecutamos
por ejemplo se emplea 333
por ejemplo 4000 fíjense cuando
agreguemos
se está actualizando acá le permite esta
herramienta que se agregado al androide
estudio nos permite hacer la depuración
de nuestros programas estamos viendo
aquí correctamente se está ingresando la
fila patentes marcamos de los precios en
tiempo de ejecución estamos disputando
la aplicación podemos ver con el cut
abbas inspector los resultados
y los datos actuales de la tabla en este
caso vehículos o cualquier otra tabla
-tuviste en el base de datos de ninguno
entonces hemos visto el primer punto de
agregar digamos como consultar para
consultar para minimizar herramientas
vamos a agregar un botón para consultar
por patente
vamos a definir a un clic
o azul
por qué
y vamos a implementar el algoritmo las
concepciones tehuacán
lo primero que hacemos esperamos unos
objetos característicos drive
al igual que en europa y mediante el
objeto atún llamamos el evitable
database juguete irritable y no vamos a
modificar
y acá vamos a hacer la consulta nada más
con este éxito la patente contra la
patente en él
gente extraigo
word adquirir algunos objetos gracias
gustar
para que los pido que este curso con
importancia casi curso
y mediante el objeto llamó al método que
le dice que le vamos a pasar un
parámetro hacia el comando sql para que
ocupe a cl la marca el mismo modelo el
precio de la tabla
vehículos donde el la patente sea igual
a con simple comillas porque es tipo
este campo y compartiremos la variable
patente y agregamos la comida simple
y tenemos que pasar un parámetro más que
en este caso es no no lo está utilizando
el segundo parámetro para esta consulta
entonces digamos de estas comidas
simples son indispensables ya que el
campo patente de tipo texto el campo
parte en tercer tipo texto de
obligatoria con bien simple no para los
intereses o real como cualquier gesto de
base de datos
cuando una vez creado en los objetos
clases cursor llamamos del objeto fila a
que se posiciona el primero que
encuentre votamos haciendo consultas por
el primer y que llamamos tutti para
devolver 3 sería una fila que cumple la
condición se posicione el cursor en esa
fila y a partir de ahí le dice marca
vamos a mostrar con texto y vamos a
recuperar de filas llamando nietos
goethe strange
y la columna que debía extraer de scl la
cual unas telas la marca que dicte
modelo
diga que tenemos
el 1 qué es
el modelo y el precio de precio
cering y la columna 2
por último por el elche es que no hemos
ingreso una patente que no existe por lo
tanto mostramos no existe el vehículo
con dicha patente como todas
y tercer hemos vivido juntos blogs
centramos la conexión con la base de
datos pasemos a probar vamos a la
consulta
y si abrimos que él
vamos a la partida a 111 que estará
anteriormente y ahí vemos que hemos
recuperado los gastos que podemos
controlar y si cargamos ésta
nos tenía que recuperar esta fila
perfectamente nos recupera esa fila y si
cargamos una si no existe
nos va a mostrar el todas que no existe
un vehículo con dicha parte podríamos
eventualmente walker
eventualmente cosas
editec
y ahí ya tenemos entonces dicha de
nuestros problemas como agrega y la
tabla consultas filas vamos al borrado
el borrado ingresando una parte para
minimizar estos agregar un botón
vamos a hacer la actividad es demostrar
vamos a hacer el evento
el método borja
lo calificamos
para ahorrar
igual que recién s coop line database
un cable atrás
vamos a en el bordado lo que sacamos la
patente
igual que acá y vamos a tener que
llaman al método de l de punto de leds y
pasa al de que tabla vamos a ahorrar
filas de la tabla de el blog
luego la condición cual cumple qué
condición y la patente sea igual como de
tipo texto
tengo que concatenar le está comités
simples que tengo adentro de con karting
o patente
y un último parámetro
si nos gustamos pasamos el método del ex
de well un entero que es la cantidad de
filas que se han bajado la tabla
vehículos con dicha patente como el
primer y quinto de primaria de patente
poder volver uno solo entonces de vida
sí
es igual igual a 1
quiere decir que se eliminó
el vehículo
las hijas de vero vamos a mostrar un
todas
eliminó el vehículo
el vehículo tipo de lente
y les dije no escrito un vehículo con
vincha
pensamos finalmente ella manu micó cloud
y ya tenemos resuelto la eliminación
podemos controlarlo
vamos a ver database inspector
y yo consulto a 111
los datos están fijémonos que activar
live update para que cuando yo presione
a borrar
como vemos eliminar la fila de la tabla
vehículos entonces vamos a agregar
consultar borrar y vamos a la última
actividad que vamos a gente problemas
que en la de modificar me permite
modificar la marca modo el precio
ingresando la patente entonces veremos
un botón
moody filtrar
hacemos un clic
modifica
y hacemos la lógica
como propia
y lo que voy a cambiar el método
básicamente hasta acá puede hacer lo
mismo y lo que tengo que hacer que optó
extraigo la parte que yo tengo que crear
un objeto de clase
junten valores
lo mismo que hemos hecho acá en el
agregar
nada más que encontraba lo es no
descargar la patente tenemos contemplado
es carbó la marca modelo presión y
seguidamente llamó al metro de la ciudad
fácil
update tabla se va a modificar vehículos
le voy a pasar la condición para los
pasajes con timbales y ahí dice la
condición del web
y aquí es donde
patente
sea igual simple familista comparten
otra variable patente este sprint
y mis listas y tiene un núcleo parámetro
no estamos usando los pasamos los
devuelve la cantidad de pilas
modificadas
algo muy parecido acá
y me vuelve 11 quiere decir qué
se modificó los datos del vehículo
y por el elche
no existe un vehículo con dicha parte
con esto tenemos visto la modificación
de la última actividad y bocazas podemos
ver
tratábase inspector vamos a cargar hasta
111 los consultemos que sí los vimos
borrados por eso que modifique
que no entonces tenemos vamos modificar
el precio de este vehículo
jajaja que esta patente la consultamos
consultar
contradiciendo
consulta perfecto ahí tenemos el freno
45 mil y vamos a hacer que haya 7500
ahora si queremos que se actualice
verlos acá también tengo que seleccionar
este y vamos a modificar
de bosque y se modificó realmente la
tabla está funcionando y está haciendo
la modificación
bueno con esto hemos visto las
herramientas básicas que tenemos
generando de estudios para implementar
los algoritmos para agregar en la tabla
consultar borja y modificar datos hasta
acá este tema
gracias
5.0 / 5 (0 votes)