Está en la página 1de 10

Sesion # 1.

INTRODUCCIÓN A JAVA – ANDROID

Layout.xml

Clase Java:
package com.example.utla.semana1;
import java.util.InputMismatchException;
import java.util.Scanner;

public class Calculadora {

double result = 0.0;

public double suma(double a, double b){


result = a + b;
return result;
}

public double resta(double a, double b){


result = a - b;
return result;
}

public double multiplicacion(double a, double b){


result = a*b;
return result;
}

public double division(double a, double b){


try {
result = a / b;

}catch(ArithmeticException e){
//System.out.println("Error. División entre
cero.");
//System.out.println("Error." + e.getMessage());
result = 0;
}catch(InputMismatchException e1){
result = 0;
//System.out.println("Solo se permiten valores
númericos.");
}finally {
//System.out.println("Fin del controlador de
excepciones.");
}

return result;
}

/*public static void main(String[] args) {


Scanner sc = new Scanner(System.in);
System.out.println("Programa para dividir");
System.out.println();

double numerador, denominador, resultado;


Calculadora operar = new Calculadora();
System.out.print("Digite el numerador: ");
numerador = sc.nextDouble();
System.out.print("Digite el denominador: ");
denominador = sc.nextDouble();
System.out.println(operar.division(numerador,
denominador));

/*try {
int numerador, denominador, resultado;
System.out.print("Digite el numerador: ");
numerador = sc.nextInt();
System.out.print("Digite el denominador: ");
denominador = sc.nextInt();

resultado = numerador / denominador;


System.out.println("El resultado es: " +
resultado);
}catch (ArithmeticException e){
System.out.println("No se puede dividir entre
cero");
}catch (InputMismatchException e1){
//La clase InputMismatchException debe añadirse
un import
//Ya que no es nativa. Ver en la parte superior
el import.
System.out.println("Error. Solo se permiten
números enteros.");
}finally {
System.out.println("Fin del controlador de
excepción.");
}*/

Layout: 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:orientation="vertical"
android:background="#ffffff"
android:layout_margin="20dp"
tools:context=".MainActivity">

<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Calculadora Básica"
android:textSize="28dp"
android:textStyle="bold"
android:textAlignment="center"
android:layout_marginTop="20dp"
android:textColor="#a10406"
/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Seleccione la operación a realizar:"
android:textColor="#ab0003"
android:textSize="20dp"
android:layout_marginTop="20dp"
/>

<Spinner
android:id="@+id/combo"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:layout_marginTop="0dp"
android:drawSelectorOnTop="true"
android:elevation="4dp"
android:entries="@array/operacionesMatematica"
android:background="@drawable/background"
android:textAlignment="center" />

<!--android:background="@drawable/background"-->

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Ingrese el primer valor:"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="40dp"
android:textColor="#c10202"
android:textStyle="bold"
android:textSize="16dp"
/>
<EditText
android:id="@+id/etValor1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="0.0"
android:inputType="numberDecimal"
android:text="" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Ingrese el segundo valor:"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:textColor="#FFC10202"
android:textStyle="bold"
android:textSize="16dp"
/>

<EditText
android:id="@+id/etValor2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="0.0"
android:inputType="numberDecimal"
android:text="" />

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
>

<Button
android:id="@+id/btnCalc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Calcular"
/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*******"
android:textColor="#ffffff"
/>

<Button
android:id="@+id/btnClose"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cerrar"
/>

</LinearLayout>

</LinearLayout>
</ScrollView>

</LinearLayout>

Clase MainActivity.java
package com.example.utla.semana1;

import android.content.DialogInterface;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity


implements View.OnClickListener{
private Button btnCalc, btnCerrar;
private Spinner combo;
Calculadora calculadora = new Calculadora();
EditText dato1,dato2;

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
new android.app.AlertDialog.Builder(this)
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle("Salir")
.setMessage("Estás seguro que desea
salir?")

.setNegativeButton(android.R.string.cancel, null)
.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {//un listener que al
pulsar, cierre la aplicacion
@Override
public void onClick(DialogInterface
dialog, int which) {
//Salir
MainActivity.this.finish();

}
})
.show();
// Si el listener devuelve true, significa que el
evento esta procesado, y nadie debe hacer nada mas
return true;
}
//para las demas cosas, se reenvia el evento al
listener habitual
return super.onKeyDown(keyCode, event);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

btnCalc = (Button)findViewById(R.id.btnCalc);
btnCerrar = (Button)findViewById(R.id.btnClose);

btnCalc.setOnClickListener(this);
btnCerrar.setOnClickListener(this);

dato1 = (EditText)findViewById(R.id.etValor1);
dato2 = (EditText)findViewById(R.id.etValor2);

//EditText dato2 =
(EditText)findViewById(R.id.etValor2);

/*
Spinner spinner = (Spinner)
findViewById(R.id.spinner);
String[] valores =
{"uno","dos","tres","cuatro","cinco","seis", "siete",
"ocho"};
spinner.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, valores));
*/

combo = (Spinner)findViewById(R.id.combo);
String[] lista =new String[]{
"[Seleccione una operación]",
"Sumar",
"Restar",
"Multiplicar",
"Dividir"
};

ArrayAdapter<String> adaptador1 =new


ArrayAdapter<String>
(this,android.R.layout.simple_spinner_item, lista);
combo.setAdapter(adaptador1);

@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnCalc:
double a =
Double.parseDouble(String.valueOf(dato1.getText()));
double b =
Double.parseDouble(String.valueOf(dato2.getText()));

if(combo.getSelectedItemPosition() == 0){
mensaje("Debe seleccionar la operación
que desea realizar.");
}else if(combo.getSelectedItemPosition() ==
1){
mensaje("La suma es: " +
calculadora.suma(a, b));
}else if(combo.getSelectedItemPosition() ==
2){
mensaje("La resta es: " +
calculadora.resta(a, b));
}else if(combo.getSelectedItemPosition() ==
3){
mensaje("La multiplicación es: " +
calculadora.multiplicacion(a, b));
}else if(combo.getSelectedItemPosition() ==
4){
if(String.valueOf(calculadora.division(a,
b)).equals("Infinity")){
mensaje("Error. No se puede dividir
entre cero (0)");
limpiar();
}else {
mensaje("La división es: " +
calculadora.division(a, b));
}
}
break;

case R.id.btnClose:
finish();
break;

default:

break;
}
}

private void limpiar() {


dato1.setText("");
dato2.setText("");
dato1.requestFocus();
}

private void mensaje(String mensaje){


//Toast.makeText(getApplicationContext(), mensaje,
Toast.LENGTH_LONG).show();

Toast toast = Toast.makeText(getApplicationContext(),


mensaje, Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
}
}

Archivo strings.xml
<resources>
<string name="app_name">Semana1</string>

<string-array name="operacionesMatematica">
<item>[Escoja una operación]</item>
<item>Sumar</item>
<item>Restar</item>
<item>Multiplicar</item>
<item>Dividir</item>
</string-array>

</resources>

También podría gustarte