Las calculadoras son la tarea mas básica cuando estamos aprendiendo un nuevo lenguaje de programación, es por eso, que hoy te enseñare a crear una calculadora básica de cuatro operaciones básicas en Android Studio:
- Suma
- Resta
- Multiplicación
- División
Para este proyecto usaremos el lenguaje de programación Java y una interfaz bastante sencilla.
Tabla de contenido
Crear Activity principal: Operaciones básicas
Vamos a crear una aplicación sencilla e intuitiva de usar de cuatro botones para cada operación y dos recuadros o inputs para ingresar los números a operar.
Pantalla principal

Codigo XML del Activity principal
Este es el código del archivo activity_main.xml
<?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:gravity="center"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:id="@+id/respuesta"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="0"
android:textColor="#E91E63"
android:textSize="30sp" />
<EditText
android:id="@+id/numero1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:hint="Escribe un numero"
android:inputType="number" />
<EditText
android:id="@+id/numero2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:hint="Escribe un numero"
android:inputType="number" />
<TableLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1">
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button_suma"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Suma" />
<Button
android:id="@+id/button_resta"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Resta" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button_division"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="División" />
<Button
android:id="@+id/button_multiplicacion"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Multiplicación" />
</TableRow>
</TableLayout>
</LinearLayout>
Ahora que ya tenemos toda la interfaz gráfica funcionando tenemos que ir a la sección de la lógica, es decir al archivo java para empezar a programar.
Programando la lógica en Java
La sección de la lógica en Java es en proceso sencillo, pues crearemos cuatro métodos sencillos, cada uno hará una operación y se asociaran a cada botón de la vista o interfaz.
Codigo en Java
Para pegar este codigo, busca el archivo MainActivity.java y pega el siguiente contenido.
Nota: di te da algún error puede ser que en tu proyecto los hayas nombrado diferente a las variables en la vista.
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private Button btn_suma;
private Button btn_resta;
private Button btn_division;
private Button btn_multiplicacion;
private TextView text_respuesta;
private EditText edit_numero_uno;
private EditText edit_numero_dos;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text_respuesta = findViewById(R.id.respuesta);
edit_numero_uno = findViewById(R.id.numero1);
edit_numero_dos = findViewById(R.id.numero2);
btn_suma = findViewById(R.id.button_suma);
btn_suma.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
text_respuesta.setText( suma( Integer.parseInt(edit_numero_uno.getText().toString()),Integer.parseInt(edit_numero_dos.getText().toString()) )+"");
}
});
btn_division = findViewById(R.id.button_division);
btn_division.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
text_respuesta.setText( division( Integer.parseInt(edit_numero_uno.getText().toString()),Integer.parseInt(edit_numero_dos.getText().toString()) )+"");
}
});
btn_multiplicacion = findViewById(R.id.button_multiplicacion);
btn_multiplicacion.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
text_respuesta.setText( multiplicacion( Integer.parseInt(edit_numero_uno.getText().toString()),Integer.parseInt(edit_numero_dos.getText().toString()) )+"");
}
});
btn_resta = findViewById(R.id.button_resta);
btn_resta.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
text_respuesta.setText( resta( Integer.parseInt(edit_numero_uno.getText().toString()),Integer.parseInt(edit_numero_dos.getText().toString()) )+"");
}
});
}
public double suma (int a, int b){
return a+b;
}
public double resta (int a, int b){
return a-b;
}
public double multiplicacion (int a, int b){
return a*b;
}
public double division (int a, int b){
int respuesta = 0;
if (b!=0){
respuesta=a/b;
}
return respuesta;
}
}
Si aun asi no te funciona el proyecto, te dejo el proyecto completo para que lo descargues e importes a tu Android Studio y trabajes sobre el.
Descargar proyecto completo
En el siguiente enlace podrás descargar el código fuente completo.
Espero que este post te haya ayudado, no olvides dejar tu comentario y suscribirte a mi canal de Youtube Yo Androide.