En:

Volvemos con una nueva entrega de “Aprendiendo android”, la novena ya

Se puede decir, a grandes rasgos, que los desarrolladores de android pueden dividirse en dos bloques, hablando de forma muy general claro, los que provienen de otro lenguaje de programación y los que no.

Si algún lector de este blog está leyendo esto y pensando si empezar a desarrollar para este sistema operativo, a este respecto puedo decir que el consejo que me dieron a mi me vino realmente bien.

-“…Empieza con java y cuando tengas conceptos claros, comienza con android”.

Android es java, hasta cierto punto, la forma de construcción y arquitectura es básicamente igual, aquel que programe en java, programará en android.

Pero no siempre es así, como ya sabéis los que tenéis a bien leer estas entregas, procuro recuperar las cosas que vais preguntando o solicitando y explicar en estos artículos los temas que pienso que pueden ayudar a más usuarios, por eso que esta sección no tenga un nivel de conocimiento fijo, hoy puede tratar de algo más “avanzado” y en la próxima de algún tema de un nivel bastante más básico.

Hoy vamos con algo básico para aquellos que no vienen de otro lenguaje de programación, para aquellos que han empezado directamente con android.
Me ha llegado una duda de alguien muy simpático preguntando como se puede organizar una actividad que sea realmente amplia para poder tener un listado mas claro a la hora de tener que modificarlo o simplemente localizar determinadas secciones.

No es la primera vez que me encuentro con este tipo de consulta, planteada de una forma u otra. Un “característica” frecuente en los códigos de quien empieza directamente en android es tratar de hacer los “listados” lineales.

Si alguno de vosotros, como yo, tuvo la ocasión de programar en el Basic del ya mítico Spectrum, sabrá a que me refiero.

Para este ejemplo vamos a tocar dos temas importantes, uno de ellos son los LOG y el otro el como usar propiedades que están alojadas en otra actividad diferente a la principal de de la aplicación

Para casi todos, vengamos o no de otro lenguaje de programación, suena familia el termino Log. Estos no son mas que la lectura de lo que va pasando en nuestra aplicación. Son realmente útiles si por ejemplo se nos declara un cierre forzado o pasa cualquier cosa no prevista en la ejecución de nuestro programa. Estos son los Log que se generan de forma automática, también vamos a ver como usarlos como guías.

Para ver los Log que se van generando al ejecutar nuestra creación lo haremos desde la perspectiva DDMS (Dalvik Debug Monitor Server), esta puede ser abierta desde eclipse:

..O bien podemos abrirla desde la carpeta “tools” de nuestro SDK, opción que, por ejemplo yo uso, ya que lo hará en un ventana independiente que podremos tener aparte de la del propio eclipse. Una vez tenemos abierta la ventana será tan sencillo como seleccionar si queremos ver los Log de nuestro emulador, o de nuestro teléfono, en caso de estar conectado, claro.

Estos serán legibles desde la pestaña Logcat:

Como decía, siempre que la ejecución de nuestra aplicación nos de un error, cierre forzado o acción inesperada, este es el primer lugar donde deberemos mirar. Ahora bien, estos Logs pueden ser personalizado y utilizados por los desarrolladores como guías, referencias y un amplísimo etc. Creedme cuando os digo que los Log son uno de los mejores amigos del desarrollador.

Como siempre, vamos a poner un ejemplo sencillo y funcional para que entendamos el funcionamiento de lo que estamos contando.

Vamos a crear un Log tipo informativo.

¿Para que puede servir?, veamos un ejemplo práctico, imaginemos que tenemos una aplicación que al pulsar un botón llama a un método que tiene que hacer determinada acción pero que al pulsarlo nos sale el siempre indeseado error de cierre forzado.

Lógicamente hay que identificar que parte del código nos esta dando el error, es el click del botón? Es la llamada al método? Es la ejecución del método? Esto podemos localizarlo usando los Log.

Lo primero que haremos será crear una pestaña en la vista DDMD de nuestro Log personalizado, desde la pestaña DDMS pulsamos sobre “add filter” y nos saldrá una ventana donde debemos definir el nombre de nuestro filtro (esto es solamente el nombre que va a tener la pestaña de nuestro Log personalizado) y el nombre con el que vamos a hacer referencia a nuestro Log.

Para esta ocasión pondremos como nombre del filtro “ElAndroideLibre” y como la referencia de nuestro log “eal”.

Una vez hecho esto tendremos en nuestra barra de Logcat los Logs generales de la aplicación y los Logs que van a ser mostrados específicamente a petición nuestra en la pestaña “ElAndroideLibre”.

Esta es la primera parte de la operación, lógicamente ahora debemos indicar en nuestro código que queremos que en determinado momento de la ejecución de nuestra aplicación se nos mande un mensaje a nuestra pestaña de Log informativo “ElAndroideLibre”.

Esta acción tan solo requiere de una línea de código:

“Log.i(«eal»,»Hola, soy el mensaje que has pedido»);”

Que estamos haciendo con esta línea?

En primer lugar estamos indicando que vamos a declarar un Log tipo informativo “Log.i”, tras esto indicamos que este log ha de ser mostrado en nuestra pestaña personalizada llamada “eal” y finalmente declaramos el mensaje que queremos que se nos muestre en dicha pestaña cuando el código lea la parte donde hemos solicitado el Log “Hola, soy el mensaje que has pedido “

Esto es simplemente un ejemplo básico de cómo aplicar un Log, pero las funcionalidades, usos, aplicaciones y demás de estos comandos son tan ilimitados como la imaginación del desarrollador, decía que son uno de los mejores amigos del desarrollador y en cuanto os ahorren un par de quebraderos de cabeza sobre algún listado veréis que no es en absoluto ninguna exageración.

No solo existe los Log .i del tipo informativo, tenemos otros modelos que pueden aplicarse según situaciones. Una vez que hemos visto un ejemplo sencillo, es recomendable pasar por la documentación android para ampliar información a este respecto.

http://developer.android.com/intl/de/reference/android/util/Log.html

Una vez visto esto, retomamos la segunda parte de este artículo, vamos a ejecutar un log que esté alojado en una actividad diferente a la que tenemos en pantalla.

Inicialmente vamos a crear dos actividades diferentes dentro de un mismo proyecto, a la primera, la principal le incluiremos un código básico donde solo tengamos un botón y un listener de dicho botón, sería algo así:

Y la segunda actividad a la que llamaremos “actividadApoyo” contendrá un método que ejecutará nuestro Log.

Veamos en primer lugar el código de la actividad inicial.

Lo primero que hemos hecho es importar además de, como siempre, todo lo que nos sea necesario para ejecutar nuestro código, la segunda actividad que hemos creado para albergar los métodos de apoyo:

import vierco.com.pruebas.actividadApoyo;

Tras esto, una vez pulsado el botón, indicamos que vamos a utilizar una actividad diferente a la que estamos ejecutando y a la que nos vamos a referir con el nombre de “apoyo”:

actividadApoyo apoyo =new actividadApoyo();

Y que de la actividad “Apoyo” queremos ejecutar el método llamado “muestraLog”

apoyo.muestraLog();

Tan sencillo como eso.

El código de la segunda actividad, la de apoyo es más sencillo, si cabe, que el código de una actividad normal, en nuestro caso seria así

Vamos a tener en cuenta que en esta segunda actividad de apoyo, no hay entorno gráfico, no hay xml y no hay “main” ya que no es necesario que empiece por ninguna parte dado que su cometido es simplemente albergar métodos que van a ser utilizados desde otras actividades.

Esta actividad de apoyo como tal no es necesario declararla en nuestro manifest.

Y listo! Son dos ejemplos de dos acciones que aparentan ser sencillas, y lo son, pero en el momento que comencemos a usarlas veremos que con tan sencillas como indispensables.

Como siempre os animo a partir de estos ejemplos para comenzar a probarlos en vuestras propias creaciones y reitero en lo que siempre insisto, la programación requiere de conocimientos, pero sobre todo de ganas, ilusión y originalidad… Así que ánimo a todo el mundo

Vierco.

 

 

Mostrar comentarios
Vídeos El Androide Libre
Cómo AHORRAR DATOS en INSTAGRAM
Análisis Xiaomi Mi 9T
Análisis Xiaomi Mi True Wireless
Análisis Amazon Kindle Fire 7 2019
TRUCAZO: Acelera los audios de WHATSAPP #STOPTURRAS
Cómo pasar de audio a texto automáticamente
Análisis OPPO Reno 10x Zoom
Samsung Galaxy M20 vs Xiaomi Redmi Note 7
¿Sin ESPACIO en Android? Cómo LIMPIAR tu móvil
Análisis Huawei P30 Lite
Google ROMPE con Huawei: cómo te afecta
Cómo crear tu propio ROBOT
Cómo ver HISTORIAS de Instagram SIN SER VISTO
Análisis Black Shark 2
Análisis OnePlus 7 Pro
Google Apps añade mejoras en las opciones para empresas con Android y Device Policy
Slick UI, un cambio radical en la interfaz de Android