jueves, 18 de agosto de 2011

Uso de controles y eventos en Android

Al crear un nuevo proyecto de Android en Eclipse o MotoDev Studio, que se llame HolaMundo, nos genera una aplicación tipica con una pantalla y una leyenda en la parte superior.

Tomando como base esta plantilla, nos dirigimos a ella en la carpeta /res/layout/ y abrimos el archivo main.xml que corresponde a la ventana principal de nuestra aplicación.



En la parte izquierda veremos los controles o widgets que tenemos para construir nuestra interfaz gráfica, aquí seleccionaremos el EditText y lo arrastramos a la ventana,bajo la leyenda HolaMundo; luego seleccionamos el control Button y lo arrastramos también a la ventana.


Si estamos acostumbrados a hacer doble click sobre el componente, y que se abra el código para escribir un evento; aquí no sucederá. Tenemos que pasarnos al código java que se encuentra en la carpeta /src/com.holamundo y abrir el archivo MainActivity.java.

Veremos un código como el siguiente:
package com.holamundo;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}

Declaramos 2 las variables del tipo de nuetros componentes, esto luego de la linea del public class. Nos marcara un error al escribir el tipo del componente, sin haber importado la libreria que lo contiene, en ese caso hacemos click sobre el nombre del tipo EditText y seleccionamos que soluciones el código agregando import android.widget.EditText,el mismo caso para el tipo Button.
import android.widget.Button;

import android.widget.EditText;
public class MainActivity extends Activity {
EditText texto1;
Button boton1;

Ahora al final de la función onCreate,utilizamos la instrucción findViewById() para enlazar un componente de nuestra ventana al código java:
	texto1=(EditText) findViewById(R.id.editText1);

boton1=(Button) findViewById(R.id.button1);

En el código anterior,ya que la función es para un tipo genérico,usamos un molde del objeto que necesitamos. Para finalmente pasarle como argumento una constante auto-generada con el nombre del identificador de nuestro componente.

El objeto R se genera automáticamente y contiene muchos recursos de texto e identificadores utilizados en la carpeta /res/.

Ahora para completar el ejemplo necesitamos leer lo que se escribió, y mostrarlo al presionar el botón. Declaramos un evento de tipo OnClickListener y lo asociamos al boton, de la siguiente forma:
boton1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "Capturado: "+texto1.getText(),
Toast.LENGTH_SHORT).show();
}
});

Al comenzar a escribir en new OnClickListener() el auto completado de código de Eclipse nos dará el resto de la declaración.Para cualquier nuevo objeto que usemos, si no se ha importado previamente nos marca el error y nos sugiere importarlo.En este caso importamos también la librería para el Toast.

Y aquí les dejo el código fuente y el archivo de instalación en Android, y Happy Hacking!

Archivo fuente en .zip

Archivo de instalación Android .apk

No hay comentarios:

Publicar un comentario