CALCULADORA
CALCULADORA
PROGRAMACION MOVIL
PROYECTO CALCULADORA
Estudiantes:
Brayan Moises Chavez Flores
Gestión 1 – 2023
INDICE
1. INTRODUCCION ...............................................................................................2
3. CODIGO ............................................................................................................5
1
1. INTRODUCCION
En este proyecto la finalidad es de crear una calculadora con una interfaz grafica
exportada a un celular Android.
1.1. Crear proyecto
2
2.1. Botones
2.2. ConstraintLayout
3
restricciones se definen mediante líneas de conexión que conectan los elementos
2.3. Diseño
4
3. CODIGO
Este código define una clase llamada MainActivity que hereda de la clase
• oper es una variable de tipo Int que se usa para almacenar el tipo de
operación a realizar.
• numero1 es una variable de tipo Double que se usa para almacenar el primer
número de la operación.
5
establece la vista de la actividad a través del método setContentView(), que infla el
Las siguientes líneas obtienen las referencias a dos elementos TextView de la vista
id tv_num2.
Luego, las siguientes líneas obtienen las referencias a dos elementos Button de la
con el id Buttonigual.
posterior uso.
Buttonigual.setOnClickListener {
arduino
if (TextUtils.isEmpty(tv_num2.text)) {
Se está verificando si el TextView llamado tv_num2 está vacío o no. Para esto se
usa la clase TextUtils que es parte del framework de Android, y su método isEmpty
6
Toast.makeText(this, "Por favor ingrese un número",
Toast.LENGTH_SHORT).show()
return@setOnClickListener
está vacío.
7
var numero2: Double = tv_num2.text.toString().toDouble()
En esta línea se obtiene el segundo número ingresado por el usuario, se convierte
de texto a número decimal (double) y se almacena en la variable numero2.
var resp: Double = 0.0
En esta línea se declara la variable resp como tipo Double y se inicializa en 0.
if (numero1 == 0.0 && numero2 == 0.0) {
tv_num1.setText("0")
tv_num2.setText("0")
Toast.makeText(this, "OPERACION NO VALIDA",
Toast.LENGTH_LONG).show();
}
En esta sección se valida si ambos números son 0. Si ambos números son cero, se
establecen los valores de los textviews a 0 y se muestra un mensaje de error
mediante un Toast.
else {
8
if (oper == 4 && numero2 == 0.0) {
tv_num2.setText("")
tv_num1.setText("Error: división por cero")
} else {
when (oper) {
1 -> resp = numero1 + numero2
2 -> resp = numero1 - numero2
3 -> resp = numero1 * numero2
4 -> resp = numero1 / numero2
5 -> resp = numero1 * (numero2 / 100)
}
tv_num2.setText(resp.toString())
tv_num1.setText("")
}
}
En esta sección se verifica si la operación es división y el segundo número es 0, en
cuyo caso se muestra un mensaje de error. Si la operación no es división por 0, se
realiza la operación correspondiente, que depende del valor de la variable oper. El
resultado se almacena en la variable resp. Luego, se establece el texto del segundo
textview con el valor de resp convertido a texto y se establece el texto del primer
textview a una cadena vacía.
ButtonLimpiar.setOnClickListener {
tv_num1.setText("")
tv_num2.setText("")
numero1 = 0.0
oper = 0
9
Finalmente, se define un listener para el botón de limpiar. Cuando se hace clic en
este botón, se establecen los textos de ambos textviews a una cadena vacía y se
Se obtiene el valor actual del segundo número que se está ingresando, el cual está
caracteres.
10
Esta función es llamada cuando se presiona uno de los botones de operación en la
11
Se obtiene el texto actual en el campo de entrada (segundo número) y se guarda
en la variable num2_text.
operación.
Se utiliza una estructura de control when para determinar cuál botón de operación
12