Вы находитесь на странице: 1из 6

Este proyecto tiene la finalidad de utilizar los distintos eventos que ya vimos en la semana nmero

uno de nuestro curso de certificacin en Android, para ello necesitamos crear la siguiente Interfaz
de usuario:

Puedes manejar los colores deseados, para esto debes cambiar los id de cada uno de los botones
si quieres que coincida con el cdigo de la prctica, si por el contrario quieres cambiarles los
nombres solo ajusta el cdigo a los nombres de tus controles grficos.
Ahora vamos a analizar el cdigo, como ya sabes t puedes realizar cambios ya que existen varias
lgicas que pueden desarrollar el problema y si cumplen la funcin de realizar las operaciones de
una calculadora es muy aceptable.
En el MainActivity.java vamos a declarar el siguiente cdigo, cabe destacar que yo hago mencin
del ManinActivity.java pero tu pudiste haber cambiado el nombre a la clase principal cuando
creaste el proyecto.

package com.example.calculadora_basica;
import android.app.Activity;
import android.os.Bundle;

Libreras de nuestro proyecto

import android.view.View;
import android.widget.TextView;
public class MainActivity extends Activity {

Estas son variables globales que


almacenan la primera y segunda
cantidad que es digitada

//Aqu Declaramos Variables Globales


Double numero1,numero2,resultado;
String operador;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onClickIgual(View miView)

Cuando se ejecuta el smbolo de igual debemos obtener el numero2 y la operacin


que debi ser especificada previamente

{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
numero2 = Double.parseDouble(tv.getText().toString());

Declaramos un TextView y mandamos a llamar el objeto que se encuentra en


nuestro layout que se llama txtNumero
Convertimos lo que obtuvimos del Text View y lo almacenamos en la variable
numero2.

if(operador.equals("+"))
{
resultado= numero1+numero2;
}
else if(operador.equals("-"))
{
resultado= numero1-numero2;
}
else if(operador.equals("*"))
{
resultado= numero1*numero2;
}
else if(operador.equals("/"))

Estos condicionales permiten determinar el tipo de operacin y de acuerdo a la


seleccin la operacin, la cual puede ser suma, resta, multiplicacin y divisin.

{
resultado= numero1/numero2;
}
tv.setText(resultado.toString());
}
public void onClickSuma(View miView)
{
operador="+";
onClickOperacionCapturaNumero1(miView);
}

Estos eventos estn asociados a los botones, en este caso a la suma pero los
dems mtodos a las distintas operaciones y aqu almacenamos en la variable
operador el carcter de la operacin y mandamos a llamar el mtodo de
onClickOperacinCapturaNumero1 y con esta funcin que recibe como
parmetro un objeto de tipo view porque solo observa los valores capturados
en esta funcin y cuando la mandemos a llamar tambin tendr esos valores
capturados previamente.

public void onClickResta(View miView)


{
operador="-";
onClickOperacionCapturaNumero1(miView);
}
public void onClickMultiplicacion(View miView)
{
operador="*";
onClickOperacionCapturaNumero1(miView);
}

public void onClickDivision(View miView)


{
operador="/";
onClickOperacionCapturaNumero1(miView);
}
public void onClickOperacionCapturaNumero1(View miView)
{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
numero1 = Double.parseDouble(tv.getText().toString());
tv.setText("");

De inicio declaramos una variable TextView y la enlazamos con


nuestro control grfico. Asignamos ese valor a la variable
nmero1 y al txtNumero le borramos su contenido para que
podamos ingresar un nuevo valor.

}
public void onClickLimpia(View miView)
{
numero1=0.0;
numero2=0.0;

Limpiamos los valores y reiniciamos


los valores nmero 1 y nmero 2

TextView tv = (TextView) findViewById(R.id.txtNumero) ;


tv.setText("");
}
public void onClickBtn1(View miView)
{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
tv.setText(tv.getText() + "1");
}
public void onClickBtn2(View miView)
{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
tv.setText(tv.getText() + "2");
}
public void onClickBtn3(View miView)
{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
tv.setText(tv.getText() + "3");
}
public void onClickBtn4(View miView)
{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
tv.setText(tv.getText() + "4");
}
public void onClickBtn5(View miView)
{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;

Estos eventos estn asociados a los nmeros


que son seleccionados y va sumando la cadena
de caracteres ya que desconocemos la cifra
que nos pueden dar, y una cifra se compone
de varios botones que se van al finalizar se
mandan a un TextView.

tv.setText(tv.getText() + "5");
}
public void onClickBtn6(View miView)
{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
tv.setText(tv.getText() + "6");
}
public void onClickBtn7(View miView)
{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
tv.setText(tv.getText() + "7");
}
public void onClickBtn8(View miView)
{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
tv.setText(tv.getText() + "8");
}
public void onClickBtn9(View miView)
{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
tv.setText(tv.getText() + "9");
}
public void onClickBtn0(View miView)
{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
tv.setText(tv.getText() + "0");
}
}

Por ultimo debemos asociarlos mtodos a cada uno de los botones es decir los nmeros
a sus respectivos mtodos y las operaciones de la misma manera.

Y as para cada nmero.

Tambin de igual manera vamos a asociar los botones de las operaciones a los mtodos
correspondientes a su operando.

Listo todos los mtodos han sido explicados para su mayor comprensin, si
quieres practicar cambiando la lgica puedes hacerlo y listo a probar tu
aplicacin.