El tutor de nuestro curso online de Desarrollo de Aplicaciones para Android, Víctor Ramírez Las,…
LogCat: depuración de operaciones con base de datos en una aplicación Android
3.
LogCat: depuración de operaciones con base de datos en una aplicación Android
En este tutorial, vamos a ver de forma práctica, cómo crear logs de ejecución para depurar algunas operaciones realizadas con una base de datos en una aplicación Android.
Para ello utilizaremos la clase android.util.Log, y se implementarán los métodos estáticos para mostrar en el LogCat diferentes trazas definidas en el proyecto de ejemplo (se muestran los métodos ordenados de mayor a menor criticidad):
- Log.e() : Error.
- Log.w() : Warning o advertencia.
- Log.i() : Información.
- Log.d() : Depuración.
- Log.v() : Verbose (información detallada y más específica en relación a un registro habitual).
1 2 3 4 5 6 7 |
public class MainActivity extends Activity { [...] //Definimos el mensaje que mostrará la columna 'Tag' private static final String LOGTAG = "Academia Android: MainActivity.java ->"; [...] [...] |
Guardar Registro
En la siguiente pantalla se puede apreciar como insertamos datos para guardar un nuevo producto. Al pulsar sobre el botón guardar podemos apreciar en el LogCat (imagen que incluímos debajo del código. Pincha en ella para ampliarla) que muestra las trazas o log introducidos en el evento On Click para guardar un producto:
1 2 3 4 5 6 7 8 9 |
//Evento On Click para guardar un producto en la tabla Ventas public void guardarProducto(View view) { //Guardamos un registro de tipo 'Info' al lanzar el evento On CLick 'guardarProducto' Log.i(LOGTAG,"Se ha lanzado el evento On Click para guardar un Producto"); sqlite.insert(Estructura.TABLE_NAME, null, content); //Guardamos un registro de tipo 'Debug' en la llamada al método que guarda el producto Log.d(LOGTAG,"Se ha guardado un Producto"); |
Modificar registro vacío para mostrar el error
Igual que en el punto anterior, vemos la pantalla con la opción de menú ‘Modificar’ :
el código asociado:
1 2 3 4 5 |
//Evento On Click para modificar un producto de la tabla Ventas. Todos los campos son modificables, excepto el campo _id public void modificarProducto(View view) { //Guardamos un registro de tipo 'Info' al lanzar el evento On CLick 'modificarProducto' Log.i(LOGTAG,"Se ha lanzado el evento On Click para modificar un Producto"); |
y la traza del LogCat (pincha para ampliar esa imagen):
Al hacer una modificación sin introducir ningún valor, producirá error. Vemos el código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
//Se llama al método update pasándole los parámetros para modificar el producto con el identificado como condición de busqueda int count = sqlite.update( Estructura.TABLE_NAME, content, selection, null); //Guardamos un registro de tipo 'Debug' en la llamada al método que modifica el producto Log.d(LOGTAG,"Se ha modificado un Producto"); [...] }catch(Exception ex) { //Al cazar la excepción de no introducir ningún valor en el campo 'Total', muestra el mensaje de error en LogCat Log.e(LOGTAG + "Error al modificar un producto: ",ex.getMessage()); } [...] |
Filtrado de mensajes
Para facilitar la tarea de búsqueda de mensajes, se crea un filtro personalizado de la siguiente manera:
En la vista ‘LogCat’ seleccionaremos la opción ‘Display Saved Filters View’:
Seleccionaremos el icono del símbolo de suma:
Y configuraremos el filtro con los valores que más se adapten a nuestras necesidades. En el ejemplo anterior se establecen los siguientes parámetros:
En el siguiente video que publicamos dentro de esta serie, mostraremos en detalle el ejemplo explicado en este tutorial.
Descarga del Proyecto
Aquí puedes descargar el código de esta aplicación
DownloadEsta entrada tiene un comentario
Los comentarios están cerrados.
[…] en este tutorial Premium hablamos sobre Logcat para depurar apps con base de datos y los métodos estáticos para obtener los mensajes con […]