Inicio » Cursos » Programación Android desde Cero

App Calculadora | Curso Programación Android desde Cero

Programación de una calculadora para entender y reforzar los conceptos acerca del desarrollo de aplicación móviles para el SO Android usando Android Studio

Lección 26: App Calculadora

Programación de una calculadora para entender y reforzar los conceptos acerca del desarrollo de aplicación móviles para el SO Android usando Android Studio

Se trata de una calculadora sencilla de implementar donde:

  1. Creamos dos widgets de tipo edittext
  2. Botones para cada operación de aritmética simple
  3. Agregamos un textview
  4. y finalmente pues programamos la lógica para realizar las operaciones 

Pantalla inicio

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorPrimary"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="CALC"
        android:textColor="#fff"
        android:textStyle="bold"
        android:textSize="40dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.377" />

    <Button
        android:id="@+id/btnEntrar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ENTRAR"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.498"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView"
        app:layout_constraintVertical_bias="0.261" />

</androidx.constraintlayout.widget.ConstraintLayout>

Lógica en JAVA

package codea.app.calculdora;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    Button _btnEntrar;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        _btnEntrar = findViewById(R.id.btnEntrar);
        _btnEntrar.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(getApplicationContext(),CalcularActivity.class));
                finish();
            }
        });
    }
}

Pantalla Calculadora

Código completo del proyecto Calculadora en el Curso 

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="30dp"
    android:orientation="vertical"
    android:gravity="center"
    tools:context=".CalcularActivity">
    <EditText
        android:id="@+id/numero1"
        android:hint="Ingrese número 1"

        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
    <EditText
        android:id="@+id/numero2"
        android:hint="Ingrese número 2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

    <RadioGroup
        android:layout_marginTop="50dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <RadioButton
            android:id="@+id/suma"
            android:text="SUMA"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <RadioButton
            android:id="@+id/resta"
            android:text="RESTA"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <RadioButton
            android:id="@+id/multiplicacion"
            android:text="MULTIPLICACIÓN"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <RadioButton
            android:id="@+id/division"
            android:text="DIVISIÓN"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    </RadioGroup>
    <Button
        android:id="@+id/btnCalcular"
        android:text="CALCULAR"
        android:layout_marginTop="50dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

</LinearLayout>

Código Java

package codea.app.calculdora;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Toast;

public class CalcularActivity extends AppCompatActivity {

    EditText _numero1,_numero2;
    RadioButton _suma,_resta,_multiplicacion,_division;
    Button _btnCalcular ;
    String operacion ="";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_calcular);
        _numero1 = findViewById(R.id.numero1);
        _numero2 = findViewById(R.id.numero2);

        _suma= findViewById(R.id.suma);
        _resta= findViewById(R.id.resta);
        _multiplicacion= findViewById(R.id.multiplicacion);
        _division= findViewById(R.id.division);

        _btnCalcular= findViewById(R.id.btnCalcular);

        _btnCalcular.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(_numero1.getText().toString().length()<1){
                    Toast.makeText(getApplicationContext(),"Ingrese un número 1",Toast.LENGTH_LONG).show();
                }else if(_numero2.getText().toString().length()<1){
                    Toast.makeText(getApplicationContext(),"Ingrese un número 2",Toast.LENGTH_LONG).show();
                }else{
                    if(_suma.isChecked())
                        operacion = "Suma";
                    if(_resta.isChecked())
                        operacion = "Resta";
                    if(_multiplicacion.isChecked())
                        operacion = "Multiplicación";
                    if(_division.isChecked())
                        operacion = "División";

                    Intent i = new Intent(getApplicationContext(),ResultadoActivity.class);
                    i.putExtra("numero1",_numero1.getText().toString());
                    i.putExtra("numero2",_numero2.getText().toString());
                    i.putExtra("operacion",operacion);
                    startActivity(i);
                }
            }
        });
    }
}

 


7500 visitas

Más cursos que pueden interesarte

Más cursos

Codea Codea App

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú

© Todos los derechos reservados Codea App | ...de frente al código!!! | 2020 - 2023