lunes, 16 de marzo de 2015

ANDROID 10 : DEPURAR.



Depurar una aplicación Android con Eclipse

Programación y errores de código es un binomio inseparable. Por lo tanto, resulta fundamental sacar el máximo provechos a las herramientas de depuración.

Depurar con Eclipse

El plug-in de Android para Eclipse tiene una excelente integración con el depurador de Eclipse. Introduce un error en tu código modificando el código fuente de MainActivity para que en método onCreate tenga este este código:






Este cambio introduce un NullPointerException en tu código. Si ahora ejecutas tu aplicación, te aparecerá esto:





Pulsa Force Close para finalizar la aplicación. Para averiguar más sobre el error, inserta un punto de ruptura (breakpoint) en el código fuente en la línea Object o = null; (el breakpoint se introduce haciendo doble clic en la barra de la izquierda).

 Entonces selecciona Run / Debug History / HolaMundo para ejecutarlo en modo debug. Tu aplicación se reiniciará en el emulador, pero esta vez quedará suspendida cuando alcance el punto de ruptura que se ha introducido. Entonces puedes recorrer el código en modo Debug, igual que se haría en cualquier otro entorno de programación.

Depurar con mensajes Log

El sistema Android utiliza el fichero LogCat para registrar todos los problemas y eventos principales que ocurren en el sistema. Ante cualquier error resulta muy interesante consultarlo para tratar de encontrar su origen.

La clase Log proporciona un mecanismo para introducir mensajes desde nuestro código en este fichero. Puede ser muy útil para depurar nuestros programas o para verificar el funcionamiento del código. Disponemos de varios métodos para generar distintos tipos de mensajes:

Log.e(): Errors
Log.w(): Warnings
Log.i(): Information
Log.d(): Debugging

Log.v(): Verbose

Ejercicio depurar con mensajes log.

1.     Modifica la clase MainActivity introduciendo la línea que aparece en subrayada:

    @Override
    public void onCreate(Bundle savedInstanceState) {
       Log.d("HolaMundo","Entramos en onCreate");
         super.onCreate(savedInstanceState);
        Object o = null;
        o.toString();
        setContentView(R.layout.activity_main);
}

Nota sobre Java: Para poder utilizar la clase Loghas de importar un nuevo paquete. Para ello añade al principio importandroid.util.Log; Otra alternativa es pulsar Alt-Intro en Android Studio o Ctrl-Shift-O en Eclipse,  para que se añadan automáticamente los paquetes que faltan. En algunos casos, el sistema puede encontrar dos paquetes con la clase Log, y puede tener dudas sobre cual importar. En estos casos te preguntará.

2.     Ejecuta la aplicación. Aparecerá un error.



3.     Para ver el fichero LogCat desde Eclipse, accede al menú Window > Show View > Others… > Android > LogCat. En Android Studio aparecerá automáticamente en la parte inferior:






En la primera línea de la captura anterior, comprobamos que se pudo entrar dentro de onCreate(). Tres líneas más abajo se indica una excepción. La información mostrada suele ser excesiva. Te recomendamos que busques las palabras “Caused by” para ver el tipo de excepción y la primera referencia a un paquete escrito por nosotros, “com.example.jtomas.myapplication”. En este ejemplo, las dos líneas clave son: “Cased by: java.lang.NullPointerException at conm.example.jtomas.myapplication.MainActivity.onCreate(MainActivity.java:17)”.

4.     Haz clic en (MainActivity.java:17). Te abrirá la actividad MainActivity y te situará en la línea donde se ha producido el error. En Eclipse haz doble clic.

Publicado en androidytecnologia.blog.spot.com android 10 programacion aplicaciones android.


No hay comentarios:

Publicar un comentario