viernes, 24 de febrero de 2012

Tutorial Básico Android: Agregar boton

Hoy vamos a ver cómo agregar un botón ( Button ) y añadirle un Listener para que detecte cuando pulsamos en él en nuestro táctil de Android.

He preparado un ejemplo muy básico para entender su funcionamiento y utilidad. Un simple botón que tendrá la función de modificar el TextView "Hello World" por el de "Mi primer botón".

Al ser el primer tutorial de Android explicaremos un poco la interface y los archivos java.
La interface de usuario, que és la parte visible de la aplicación, esta en código XML y viene creado un Hello World predeterminado llamado main.xml.

Como vemos en la imagen dentro de la carpeta layout estarán los archivos XML de interfaces de usuario. Podemos añadir tantas como queramos y luego  jugar con el java para interactuar ente ellas.

OJO: los nombres de los archivos XML no pueden contener ninguna letra en mayúscula, ya que causaría error en el proyecto.







Al acceder al archivo main.xml nos encontramos con un editor gráfico para añadir objetos predefinidos y situarlos en nuestra interface simplemente con arrastrarlos dentro de la pantalla. Sin duda una buena manera de crear interfaces aunque aveces resulta un poco complicado ya que existes diferentes tipos de layout, algunas con posiciones absolutas por coordenadas o otras como la que suelo utilizar que se basa en la posicion de otros objetos.

Como vemos en la imagen en la parte de abajo hay dos pestañas, la de la izquierda que es la que tenemos delante y la de la derecha es para ver el código, imprescindible para casi todo.

Una vez estamos en la pestaña de la derecha vemos la parte de código de los objetos. para poder añadirles o modificarle propiedades. Además del Id, una cosa imprescindible.

Creo que se entiende bastante bien el código, no hace falta explicar más sobre XML en este tutorial. Fijaros en la ID que hemos escrito.



Ahora ya podemos dejar a un lado la parte visual y empecemos con el java. Las clases se almacenan en la carpeta src y dentro de un paquete ya creado por eclipse. También nos crea una clase predeterminada. Podemos crear tantas clases y paquetes como necesitemos.

Una vez explicado todo esto a la programación. A continuación muestro el código con bastantes comentarios para comprender bien su significador y poder desarrollar a partir de él.



Para ver el código en texto: http://pastehtml.com/view/bp5e7fhcc.txt

Resultado:


Muchas gracias a todos y espero vuestras dudas y comentarios!



11 comentarios:

  1. Gracias por la explicación, para mi que soy nueva y sin experiencia..

    ResponderEliminar
  2. Muchas gracias por tu comentario.
    Añadiré más tutoriales.

    ResponderEliminar
  3. Hola, me ha encantado tu tutorial, porque estoy empezando con android. Aunque ahora con el boton me ha surgido una duda. Si creas dos botones, debes crear dos tipos de listener? como controlas si le haces click a un boton o al otro? Soy muy muy nuevo en android y muchas cosas aun no las entiendo bien.

    Gracias

    ResponderEliminar
    Respuestas
    1. Buenas tardes, para crear otro botón:

      Primero abra que crear la variable:
      private Button boton, boton2;

      como ves se puede agragar en la misma linea que tenemos, a continuación hay que crear otra línea con el segundo boton que ayamos creado en el .xml (explicado arriba):

      boton2 = (Button)findViewById(R.id.button2);

      y añadir un nuevo listener y para diferenciar que boton cambiamos el texto:

      boton.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
      texto.setText("Nuestro segundo botón");
      }
      });
      De momento así ya va bien, de aquí a un tiempo verás que hay maneras mucho más rápidas.

      Para cualquier duda escribe un comentario. Mírate lso siguientes tutoriales. De momento los simple. Muchar gracias!


      Eliminar
    2. Si te a gustado click en +1 en Google :D

      Eliminar
  4. Hey he tardado en ver tu comentario pero me ha gustado mucho y estoy aprendiendo android ahora leyendo algunso tutoriales tuyos.
    Le doy a me gusta ;)

    Gracias

    Ahora voy a tratar de mandar datos a un servidor a ver si me sale

    ResponderEliminar
  5. Hola. he intentado con botones pero me sale un mesaje de error. el mensja dice."UNFORTUNATELY NOMBREPROYECTO HAS STOPPED". sin embargo cuando muestro texto si me sale.. Alguien me puede ayudar con ese error?.

    ResponderEliminar
    Respuestas
    1. A que te refieres cuando muestro el texto si me sale?

      Comprueba también si esta línea la tienes correcta:
      boton2 = (Button)findViewById(R.id.button2);

      Comprueba también si el archivo .xml no contiene ningún número ni mayúsulas en el nombre ejemplo:

      Error: main1.xml ó Main.xml

      Correcto: ejemplo.xml ó main.xml

      Eliminar
  6. En que programas?? Netbeans, Eclipse u otro??

    ResponderEliminar