Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2- Dentro del proyecto se crean instancias para los servicios de autenticación y base de datos.
3- Mediante la herramienta de ayuda de Android Studio se vincula Firebase con el proyecto
que se creo en la cuenta de Firebase .
En este caso se esta creando una tabla (llamada colección en firebase), correspondiente a reviews ,
dentro de reviews, existen registros que son reviews individuales , las cuales tienen una
descripción y calificación, el nombre “review” del ejemplo, será un id que genera Firebase
Dentro del proyecto, creé un paquete llamado “campos”, que contendrá cada una de la
estructuras de las tablas de firebase, por ejemplo, en la tabla reviews, dentro de este paquete
habrá una clase review, que contendrá todos los campos de review, que son puntuación y
descripción. Esto lo hice de esta manera ya que según la documentación de firebase, facilita la
creación y recuperación de registros.
Creación de la clase que se usara para crear y recuperar datos de la tabla reviews
Creación de un paquete conexión, que tendrá todas las conexiones a tablas especificas de la base
de datos, en este caso esta conexión será única y exclusivamente para reviews, mas adelante, se
agregaran conexiones para las demás tablas. Esto se hace para reciclar esta lógica a lo largo de
todas las views que requieran una tabla especifica.
Con el constructor y el objeto mDatabase se inicializa la base de datos a nivel general .
Creo un método dentro de Reviews que permita ingresar un registro, en este caso, selecciono la
tabla reviews de la base de datos y creo un “hijo” nuevo que corresponderá a un registro
completo, esto lo consigo usando una id random generada que se pasa por parámetros
Creo el activity y los componentes visuales que permitirán ingresar un registro
En el activity creo un atributo que hace referencia a la base de datos, mediante la clase Reviews,
mencionada anteriormente
Una vez instanciada la referencia, se hace la funcionalidad para que el botón sea capaz de capturar,
validar los ingresos y posteriormente ingresarlos a la base de datos, mediante el método onClick
del botón
Rectángulo verde: Captura y valida los datos del formulario, si estos son validos, llama al método
ingresarValoracion(), de lo contrario avisa al usuario mediante un toast que los datos que ingreso
no son validos
Rectángulo rojo: Este método recibe 2 parámetros, una vista y un objeto Review (del paquete
campos mencionado anteriormente), la vista se utiliza para obtener el contexto y mostrar el toast
con el resultado de la operación, mientras que el objeto Review llamado “ingreso”, se usa para
generar el registro correspondiente en la base de datos, según lo especificado por firebase en su
documentación oficial.
Prueba de funcionamiento
Creo un nuevo campo el reviewsActivity para filtrar la consulta de acuerdo a una valoración
especifica de 1 a 5 en la base de datos
En la clase Reviews del paquete conexión, se agrega un nuevo método especifico para filtrar por
una valoración deseada, esto devuelve un objeto Query de firebase, que es la forma de hacer
consultas relativamente complejas
En reviewsActivity, creo un método para el onclick del botón, que validara los datos de filtrado y
llamara a el objeto bd , correspondiente a la clase Reviews del paquete conexión, de esta forma se
devolverán los datos filtrados
Este método solo se encarga de validar los datos correspondientes, y luego llama al método
encargado de ingresar el registro y comunicarse con la base de datos, que es el siguiente
Con este método obtenido de la documentación de firebase se itera sobre los datos obtenidos con
el filtro especificado, la vista, solo se entrega para obtener el contexto y mostrar el toast, el valor se
utiliza como parámetro de filtrado de la consulta, mientras que el textView resultados , es el
encargado de pintar todos estos datos.
Luego se agrego un scroll al elemento textView resultados, para mostrar múltiples coincidencias
sin que ocupe todo el layout, y además, se agregaron los elementos necesarios para borrar un
registro según el id obtenido.
En la clase Reviews del paquete conexión, ahora se genera un método para borrar un registro
según un ID especificado, al igual como se vino haciendo en pasos anteriores con agregar y filtrar
Similar al método crearRegistro, se busca un “hijo” especifico de la tabla reviews que contiene el id
especificado
Luego se crean los métodos para manejar la validación de datos y vincular las operaciones de la
base de datos a la vista
Para actualizar un registro debería capturarse también el ID del usuario y colocar los campos
respectivos a actualizar, usaríamos el método updateChildren de Firebase especificado en su
documentación, o de todas formas, mediante el método setValue() que se uso para crear el
registro se podría actualizar, pero si usamos esta forma estaríamos sobreescribiendo todos los
datos del registro asique se debe usar con precaución.