jueves, 24 de abril de 2014

Codigo para desarrollar Calculadora basica en Android

Código para el Activity_main.xml 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity"
    android:background="@drawable/w">
 
 

    <EditText
        android:id="@+id/et2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="5"
        android:hint="Ingresa numero 1"
        android:numeric="decimal"
         android:textSize="20dp"
        android:textStyle="bold"
        android:background="#ffffff" />

      <EditText
          android:id="@+id/et1"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_alignParentTop="true"
          android:layout_centerHorizontal="true"
          android:layout_marginTop="56dp"
          android:layout_weight="5"
          android:ems="10"
           android:textSize="20dp"
          android:hint="Ingresa numero 2"
          android:numeric="decimal"
          android:textStyle="bold"
       
          android:background="#ffffff"/>

      <TextView
          android:id="@+id/tvresultado"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_below="@+id/btncalcular"
          android:layout_centerHorizontal="true"
          android:layout_marginTop="26dp"
          android:text=""
          android:textSize="50dp"
          android:textColor="#ffffff"
            android:textStyle="bold"
            android:fontFamily="true"/>

      <Button
          android:id="@+id/btnmultiplo"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignBaseline="@+id/btnresta"
          android:layout_alignBottom="@+id/btnresta"
          android:layout_toRightOf="@+id/btnresta"
          android:text="X"
          />

      <Button
          android:id="@+id/btndivision"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignBaseline="@+id/btnmultiplo"
          android:layout_alignBottom="@+id/btnmultiplo"
          android:layout_toRightOf="@+id/btnmultiplo"
          android:text="/" />

      <Button
          android:id="@+id/btncalcular"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignLeft="@+id/et1"
          android:layout_below="@+id/et1"
          android:onClick="Bsuma"
          android:layout_marginLeft="14dp"
          android:layout_marginTop="44dp"
          android:text="+" />

      <Button
          android:id="@+id/btnresta"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_above="@+id/tvresultado"
          android:layout_toRightOf="@+id/btncalcular"
          android:text="-"
          android:textColor="#000000" />

</RelativeLayout>

El resultado sera algo como esto:


El codigo para el MainActivity.java


public class MainActivity extends Activity {

    BigDecimal valor_a , valor_b, suma;

TextView resultado;

     EditText campo_a, campo_B;

    Button btncalcular, btnresta, btnmultiplo, btndivision, btnsalir;

    

    
    
   
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //Agregar el escucha al boton
        
        
        campo_a=(EditText)findViewById(R.id.et1);
        campo_B=(EditText)findViewById(R.id.et2);
        resultado=(TextView)findViewById(R.id.tvresultado);
    
        btncalcular=(Button)findViewById(R.id.btncalcular);
        btnresta=(Button)findViewById(R.id.btnresta);
        btnmultiplo=(Button)findViewById(R.id.btnmultiplo);
        btndivision=(Button)findViewById(R.id.btndivision);
       
        
       
        
        btncalcular.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
valor_a=new BigDecimal(campo_a.getText().toString());
valor_b=new BigDecimal(campo_B.getText().toString());
resultado.setText(valor_a.add(valor_b).toString());
}
});
        btnresta.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
valor_a=new BigDecimal(campo_a.getText().toString());
valor_b=new BigDecimal(campo_B.getText().toString());
resultado.setText(valor_b.subtract(valor_a).toString());
}
});
  btnmultiplo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
valor_a=new BigDecimal(campo_a.getText().toString());
valor_b=new BigDecimal(campo_B.getText().toString());
resultado.setText(valor_b.multiply(valor_a).toString());
}
});
  btndivision.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
valor_a=new BigDecimal(campo_a.getText().toString());
valor_b=new BigDecimal(campo_B.getText().toString());
resultado.setText(valor_b.divide(valor_a).toString());
}
});
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
  

}

Espero que la aplicación les funcione perfectamente, pueden descargar la aplicación con el código fuente desde este enlace:

  
Para cambiar la imagen de fondo de la aplicación lo explico en el siguiente enlace:

Cambiar imagen de fondo