NOVEDADES IMPORTANTES

Acceso a todos los contenidos

Hace unos meses decidimos suspender nuestra actividad de formación online en Digital Learning SL (propietaria de esta web).

Desde entones hemos mantenido operativos nuestra plataforma de teleformación y webs de contenidos Academia Android y Digital Learning, habilitando un acceso libre y gratuito a todos estos recursos, incluyendo cursos y contenidos Premium que antes requerían un registro y pago previo, lo que ha propiciado un volumen de visitas constante de usuarios que consultan esta formación.

Venta-traspaso de los contenidos

Creemos que estas webs por sus contenidos, posicionamiento SEO y atracción de tráfico (junto a sus cuentas en redes sociales asociadas, incluyendo Twitter y Facebook de nuestro curso de Community Manager) pueden ser una oportunidad para emprendedores o compañías de diversos ámbitos (formación, marketing y publicación online, desarrollo software,…) que quieran:

  • Captar usuarios, alumnos o clientes para sus proyectos, productos y servicios.
  • Comercializar los contenidos bajo múltiples fórmulas: venta de publicidad, modelos freemium o de pago, suscripciones…
  • Crear un nuevo proyecto a partir de esta infraestructura de recursos.

Si tú o tú empresa estáis interesados en adquirirlos, ofrecemos su traspaso en propiedad exclusiva. Puedes contactar conmigo en «contacto@digitallearning.es» (por favor entiende que los correos que no vengan suficientemente identificados no vamos a atenderlos). Gracias.

Manuel Cabello (Socio-Director de Digital Learning/Academia Android)

Este es el número de tutoriales publicados:

Pincha en los textos de los contadores de Tutoriales publicados, Premium o Series de tutoriales para tener un detalle de las publicaciones que comprenden.

Desde hace unos meses, todos los contenidos, incluidos los Premium, son accesibles libre y gratuitamente.

  • Premium
  • Acceso libre
130
Acceso libre
126
Premium

Algunos datos sobre los contenidos que hemos publicado hasta la fecha:

74
Videos
61
Proyectos descargables
contacto[arroba]digitallearning.es

Cómo depurar aplicaciones con Android Studio: proyecto ejemplo

Post Series: Depuración de Aplicaciones con Android Studio

Vamos a poner en práctica lo explicado hasta ahora sobre depuración de aplicaciones con Android Studio. Será un sencillo proyecto en el que implementamos un algoritmo de ordenación con algunos errores.

Al ejecutar el programa paso a paso en el modo debug de Android Studio, utilizando opciones que ya hemos presentado (incluir breakpoint, entrar en una función, definir un breakpoint condicional), nos permitirá detectar estos fallos y corregirlos.

Tienes disponible abajo el código del proyecto por si quieres descargarlo y practicar tú mismo el proceso de depuración que vamos a explicar esquemáticamente en este tutorial, y ya de forma más detallada, en un siguiente video que publicaremos posteriormente.

Aplicación ejemplo para depurar

Como vemos en la imagen de abajo con la pantalla de la aplicación, se trata de un proyecto con una única Activity que cuenta con dos campos de texto y un botón.

En el primer campo de texto introduciremos una lista de números enteros separados por comas. Al pulsar el botón procesaremos la lista, ordenaremos los elementos y los mostraremos en el campo de texto inferior ya ordenados. Al final de este tutorial tienes una explicación del algoritmo que ordenación que utilizamos.

Pantalla de la app Android ordenar números

 

Errores en la Aplicación

Si ejecutamos el código del proyecto descargado y realizamos una prueba veremos que primero se produce un error de ejecución que causa el cierre de la aplicación, tal como mostramos en esta pantalla:

mensaje error en la aplicación Android

Para detectar ese error ejecutamos la aplicación en Android Studio en modo de depuración  y colocamos un punto de interrupción (breakpoint) al principio del método onClick :

Inclusión breakpoint en función

Cuando introducimos de nuevo una lista de números y pulsamos para ordenar, realizamos una ejecución del programa paso a paso con la opción Step Over y vemos que se detiene en la función Ordenar .

Repetimos el proceso pero está vez entramos dentro de la función Ordenar  con la opción Step Into. Podemos ir viendo las variables locales y como se van ordenando los elementos.

Haciendo este proceso detectamos el error: el índice j+1  se sale del tamaño del array.

Error Indice Array

Al examinar el código vemos que teníamos un problema de salida en uno de nuestros bucles dentro de la función Ordenar; habíamos confundido el nombre de la variable índice y la condición de salida nunca se cumplía:

Una vez corregido ese error volvemos a ejecutar la aplicación, pero aunque en esta ocasión no se detiene ni da mensaje de error, el resultado que se obtiene en la ordenación no es correcto y se repiten números en la salida:

Error salida ordenación en App Android

Para detectar donde puede estar el error realizamos un seguimiento del funcionamiento del algoritmo de ordenación, incluyendo un punto de interrupción condicional dentro del bucle interno de la función Ordenar: .

Depurando la App con Android Studio

Incluimos la condición de parada  j==lista.length-i-1  que hará detenerse la ejecución en la última interacción de cada pasada del bucle interno, para así poder ver cómo va quedando el array ordenado:

Deuprando app con Android Studio: inserción de condicionales

Tras hacer este análisis descubrimos un error en el código en la línea 85: debemos asignar la variable temp  a list(j+1) , en vez list(j)  como teníamos antes.

En la próxima publicación de esta serie sobre depuración en Android Studio podéis ver el vídeo en el que mostramos todo el proceso que hemos presentado de una forma más detallada.

Descarga del proyecto

Os invitamos a descargar el código fuente del proyecto pulsando en este botón de abajo y poner en práctica lo aprendido. También podéis utilizar el código para implementar otras versiones del algoritmo o incluso otros algoritmos de ordenación y depurar su funcionamiento:

Descargar

 

Ordenación

El algoritmo de ordenación utilizado en este proyecto ejemplo es el denominado de burbuja (Bubble Sort). Lo hemos elegido porque su implementación es muy sencilla y podréis seguir el proceso de depuración en el vídeo independientemente de vuestro nivel.

Si quieres aprender a programar apps Android, te recomendamos nuestro curso online tutorizado de desarrollo con Android Studio

El algoritmo consiste básicamente en ir realizando comparaciones entre dos elementos correlativos de la lista, cambiándolos de posición en caso de que el de la derecha sea menor. De este modo, tras recorrer toda la lista, nos aseguraremos de que el último elemento es el mayor.

Una vez hecho ésto, repetiremos el proceso excluyendo el último elemento, de forma que obtengamos el segundo mayor en la penúltima posición.

Como ya imaginaréis, el proceso se repetirá hasta que sólo comparemos los dos primeros elementos de la lista, pues el resto ya estará ordenado.

Aquí podéis ver el pseudocódigo (obtenido de la Wikipedia, ver referencia abajo):

Pseudocódigo programa ordenación

Y esta imagen gif animada, muestra de forma muy clara el proceso:

Algoritmo de ordenación bubble en funcionamiento

(imagen: autor Swfung8, licencia CC BY-SA 3.0)

En la Wikipedia, disponéis de una explicación muy detallada, así como de algunas mejoras y variaciones que se pueden aplicar.