Sumar Dos valores en Android

hola que tal en este post te enseñare a crear tu primera aplicación, Sumar Dos valores en Android para este ejemplo vas a crear una aplicación que deberá sumar dos valores, y mostrar en pantalla el resultado,al presionar un boton para esto se requiere que la estructura del layout(vista de la aplicación) tenga lo siguiente:

3 EditText : 2 de los 3 EditText servirán para capturar el valor y valor 2 y el tercer EditText servirá para mostrar el resultado en pantalla.
1 Button.

Reestriciones para los controles
1.-los EditText para capturar deberan ser numéricos, agrega la propiedad android:inputType=”number”, con esto te aseguras que al momento de capturar solo reciba numeros
2.-indicar un mensaje dentro de los EditText donde se reciben los valores para que el usuario sepa que debe hacer agregar la propiedad android:hint=”Introduzca el valor”
3.-el EditText que mostrara el resultado debe tener la propiedad

android:editable=”false”
android:enabled=”false”

en mis post anteriores te explique la estructura de las carpetas de android, y tambien creaste un hola mundo, ahora crea un proyecto android, luego ve al layout que tengas generado en esta carpeta ya sea main.xml o activity_main.xml, abre cualquier de estos y agrega los controles que te indique anteriomente de manera grafica o mediante codigo xml


como puedes ver si colocas ese codigo te mostrara una pantalla similar a esta
button_suma_android

ahora te explicare cada propiedad:

 

    android:id="@+id/valor2": con esta propiedad indicamos el nombre de cualquier elemento del layout, en este caso se llama valor2 unico e irrepetible.
 android:layout_below="@+id/valor1": depende el tipo de contenedor los cuales veremos mas adelante, (RelativeLayout,LinearLayout,AbsoluteLayout, etc..), cuando se usa el contenedor RelativeLayout es cuando podemos usar esta propiedad porque en Android no solo es mostrar botones, cajas de texto y listo, si no que debe ajustarse a cualquier tamaño de pantalla por eso se usan contenedores, ahora con esta propiedad le indico que mi caja de texto estara debajo de un elemento que sin importar si es un boton o caja de texto, se pondra debajo de este siempre y cuando se llame como le estoy indicando, en donde previamente ya debe estar creado.
android:layout_centerHorizontal="true"_ con esta propiedad se le indica al elemento que se debe centrar en la posicion que se encuentre pero en la parte horizontal centrada.
   android:inputType="number": con esta propiedad le indicamos al EditText que cuando vaya a capturar algun valor el teclado que aparezca solo le mostrar numeros.
        android:hint="Introduzca valor 2" :con esta propiedad indicamos un texto dentro del Editext que al momento de escribir sobre este desaparece solo es para hacer indicaciones.

hasta aqui ya tienes la vista de la pantalla que mostraras al ejecutar la aplicación, ahora pasemos a la parte logica de la aplicacion movil.

en mis post anteriores te explique que es una Activity parte primordial de la vida de una aplicacion Android, ahora como se trabajo sobre el mismo layout sobre el cual esta haciendo referencia la activity en la carpeta src, únicamente haremos referencia a los EditText y al Boton, asi que para hacer referencia hacemos lo siguiente:

primero agregamos despues del extends Activity un implements OnClickListener, esto se usa siempre que se requiere capturar el evento de una pulsación sobre un EditText, Button, y probabablemente te de error porque al agregar este se requiere forzozamente el metodo propio de Android, asi que en el error puedes dar click sobre y este y luego en Add uniplements method

@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		
	}


declaras los EditText como variables globales para que puedan ser usada en cualquier parte de la Activity.
EditText valor1,valor2,resultado;
Button resultado;

valor1 = (EditText) findViewById(R.id.valor1);  
 valor2 = (EditText) findViewById(R.id.valor2);
 resultado = (EditText) findViewById(R.id.resultado);
 sumar = (Button) findViewById(R.id.sumar);

con esto hago referencia a cada elemento del layout que quiero usar, esto solo lo hago solo cuando lo voy a usar por ejemplo si tengo una etiqueta (TextView) en mi layout y aunque le haya puesto un identificador, pero si no voy aplicarle alguna accion como cambiarle en contenido, ocultarlo, no tiene caso que haga referencia simplemente basta con mostrarlo, la Clase R es una clase que se genera por default no debes hacerle nada cualquier elemento que agreges al layout en esta clase se agrega automaticamente, id hace referencia a la propiedad id definida en el layout seguido del nombre de este.

si te da error al agregar los EditText o Button para hacer referencia esto desde eclipse, solo da click en el error y este te proporcionara ayuda para importar la libreria de android correcta solo debes dar click en import.

ahora necesitas dar funcionamiento al botón, para obtener el evento de un boton, hay dos maneras, directamente desde el layout con la propiedad Onclick, en donde haces unicamente referencia al metodo en tu Activity donde llamas el layout, por ejemplo si quieres que tu boton tenga esta propiedad y llame al metodo como tu quieras llamarle, en mi caso le puse sumar(), entonces cuando defino el boton en el layout en la parte del xml agrego la propiedad Onclick = “sumar” y con eso el boton llamara al metodo sumar y ejecutara el proceso indicado en ese metodo, o directamente desde la Activity sobre la que estamos haciendo referencia se puede hacer esto

nombre de Boton.setOnClickListener(new OnClickListener() 
		{

			@Override
			public void onClick(View v) 
                       {
                           //se indica el proceso
                        }

              });

ahora para finalizar nuestra aplicacion, aplicamos la impresion de la suma de los valores 1 y 2 imprimiendolo en el EditText resultado

sumar.setOnClickListener(new OnClickListener() 
		{

			@Override
			public void onClick(View v) 
                       {
  resultado.setText(Integer.toString( (Integer.parseInt(valor1.getText().toString())) +(Integer.parseInt(valor2.getText().toString()))));
           }

              });

con este codigo, lo que estas haciendo en lo siguiente, primeramente obtienes el valor de los EditText, con getText y lo convertimos a tipo String con .toString(), e inmediatamente lo convertimos a entero para poder sumarlos, y nuevamente el resultado de sumar esos valores, lo convertimos a cadena de Entero a String, con Integer.toString, y con setText capturamos un valor en un EditText.

ahora lo que resta es lanzar su aplicación y hacer la prueba yo hice mi prueba y aqui estan los resultados en pantalla.

activity_pantalla,Button,layout

y por si las dudas te dejo el codigo fuente para que te bases, si tienes dudas comentame aqui y te resuelvo cualquier duda, ahora solo practica haciendo diferentes funciones en tu aplicación.

Codigo Fuente

One Response

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *