Uso de Eclipse: Corrección de errores Android

Hola de nuevo! He visto muchos tutorarles y cursos por ahí, y no he visto a nadie que se halla preocupado de explicar el tema de los errores de código en Eclipse, ni como solucionarlos... estas cosas se agradecen mucho, sobre todo cuando se esta empezando y no se tiene experiencia ¿verdad?.

Recuerdos mis primeros pasos en este mundillo... ¡madre mía que desastre! ;P Yo estaba periodismo cuando empecé con esto, los profesores me hablaban con toda la naturalidad, y dando por supuesto todo esto, de hecho se extrañaban cuando les preguntaba sobre esto, por eso quiero dedicar esta lección para explicar esto que es tan sencillo, pero que si nadie te la explica, pues se tarda tiempo en darse cuenta de estas cositas que para los que ya los sabemos es fácil, pero para quien empieza pues no lo es tanto! ¿no?. Bueno pues no te preocupes es muy sencillo, pero hay que aprenderlo y sobre todo EXPERIENCIA mas adelante lo iras comprendiendo mejor, ahora solo lee, y que sepas que esto lo entenderas mejor mas adelante.

Ejemplo practico de solución de error de código en Eclipse con Android

Como ya he dicho antes (creo que me repito mas que el ajo) una de las cosas que mas me sorprendió de Eclipse es la cantidad de ayuda que da, hasta ahora, yo solo tenia experiencia con Visual Basic 6.0 y hacia macros en excel, y ¡claro! esto no lo había visto nunca! esto facilita muchísimo el aprendizaje del lenguaje, como explique en el tema anterior usando las teclas Control+Espacio te muestra las sugerencias de código, pues algo parecido sucede cuando cometemos errores de programación, veamos un ejemplo típico cuando comenzamos a programar:

errores en eclipse con Android

Como ves arriba, Eclipse te notifica de errores marcando con una "x" en un circulo rojo la línea que tiene error y también subraya la instrucción o instrucciones que tienen el error (en este caso 2 por línea) o bien porque no la reconoce, o porque la hemos usado mal (en este caso no la reconoce). Si ponemos el cursor de nuestro ratón encima del icono que aparece en el margen de la línea (justo en el circulo rojo con la "x" sin hacer click ni nada), nos aparecerá un globo con la explicación del error, para el caso de la captura de arriba, Eclipse nos informa de que no encuentra el tipo de variable 'EditText'. Esto es porque no la hemos definido (ahora no te preocupes de esto, la idea es que veas como se notifican los errores).

Eclipse, Java, Android

Si ahora hacemos click con el botón izquierdo del ratón, Eclipse nos sugiere varias soluciones (captura de abajo), normalmente la 1º opción suele ser la correcta, en este caso como el error es que no encuentra el Tipo de variable EditText, la 1º sugerencia es Importar 'EditText' por lo que seleccionaremos esta opción. Se que al principio no tiene lógica, pero mas adelante la tendrá, ahora no te preocupes por eso, repito solo preocupate de aprender que Eclipse nos ayuda! ;P.

Eclipse, Java, Android

Después de hacer click sobre la opción Import... si nos fuéramos a la parte superior del programa, podríamos ver que Eclipse a añadido automáticamente una línea con la solución sugerida, en concreto añade en la parte superior esta nueva línea:

Import android.widget.EditText

A continuación, podrás comprobar que el error a desaparecido! Eclipse además tiene una forma muy buena de indicar que había un error y lo ha solucionado, donde estaba el icono rojo con la x pondrá un icono gris también con una x, de este modo indica que el error de esa línea a sido solucionado. (el icono gris desaparece cuando salvas el programa File/save).

Eclipse, Java, Android

Gestión de errores con Eclipse usando la vista "Problems"

En ocasiones, Eclipse nos marca un error que no vemos "claro" de donde puede venir, o incluso nos muestra un error que enmascara a otro error que es el que provoca realmente el problema. Una vista dentro de la perspectiva Java es la de Problems. Fíjate en la captura de abajo, ahora fíjate en la parte inferior derecha ¿ves ese icono rojo? pos si le das ahí, se te abrirá una vista que te resume las advertencias y los errores que tiene nuestro proyecto.

Eclipse, Java, Android

En concreto, el error nos dice que no encuentra el atributo "OnClick" en el paquete Android, esto es porque estamos usando para compilar una versión de Android que no tenia ese Atributo (Le he puesto a propósito un Target API3 para provocar este error), si te fijas en las advertencias (las naranjas) nos marca que estamos usando un target con API3 cuando hemos dicho al proyecto que use como requerimiento un mínimo un API10. Te repito que no te preocupes si no entiendes esto, recuerda que estas empezando!! esta lección solo pretende que aprendas la metodología para solucionar los errores, es decir, que sepas donde mirar para iniciar tu investigación.

Para solucionar esto, vamos a comprobar que Target de Android tiene nuestro proyecto, ve a las preferencias del proyecto, haz click en la barra de menús: Proyect -> Properties

Eclipse, Java, Android

Se abrirá una ventana con las propiedades de nuestro proyecto, la opción que nos interesa es la de Android en la columna de la derecha, en la parte izquierda, se vera en target del proyecto (el target es la versión de Android con la que vamos a compilar nuestro proyecto) ¿ves lo que te decía? estaba con la API3, la cambiamos a la API10 para solucionar este error, ya que ese atributo OnClick lo introdujeron mas adelante.

Eclipse, Java, Android

Después de Aceptar la ventana veremos que el error no se soluciona... :S ¿por que? hay que recompilar el proyecto!! nos vamos otra vez al menú Project , pero esta vez pulsaremos sobre Clean... con esto lo que conseguimos es recompilar todo el proyecto desde cero borrando toda la caché, así nos aseguramos que utilice la nueva API10 que hemos configurado. Toma nota de esta instrucción, a menudo la utilizo cuando Eclipse hace cosas "raras" ;P.

Eclipse, Java, Android

Después de todo esto, por fin se solucionan todos los errores, y estamos listos para correr nuestro programa en el emulador!

Y hasta aquí hemos llegado, te repito! no te preocupes y no tengas prisa, estas primeras lecciones son para una primera toma de contacto con Eclipse y tener una visión "general" de todo, poco a poco iras comprendiendo todo esto, incluso estoy seguro que mas adelante volverás a leer esta lección ;P en el siguiente tema explico paso a paso el programa Hola Mundo estoy seguro de que comprenderás un poco mejor el código en ese tema, nos leemos!!

ahh se me olvidaba! si te a gustado este sitio, por favor haz click en me gusta en Facebook, Google+, Tweeter... es el único precio que te pido por este trabajo! ;P. Compartiendo, ayudaras a otros a encontrar esta web! GRACIASSSS.