miércoles, 26 de septiembre de 2012

Calculadora Android

En este ejercicio nos centraremos principalmente en el uso de botones y textbox.
Elaboraremos una calculadora que sea capaz de sumar y restar cifras que vayamos escribiendo por pantalla.

Como podemos ver, tenemos 2 textbox, el de arriba donde iremos almacenando el resultado anterior(Ans), y el de abajo donde iremos situando en una cadena los caracteres elegidos.
Cuándo pulsemos sobre el botón igual, llamaremos a la clase operador, con un metodo opera que recibe la cadena que vemos en la pantalla y nos devuelve la cadena simplificada.

A continuacion dejo los enlaces de los archivos:

activity_main.xml
MainActivity.java
operador.java

Aplicacion lista para instalar



Para hacer este programa necesitaremos tener en cuenta varias cosas:

Los botones, primero tenemos que declararlos de la forma:

<Button
        android:id="@+id/boton3"
        android:textSize="24sp"
        android:text="@string/num3" />


Donde podemos ver el id, el tamaño del texto y la cadena de caracteres que se situa dendro del botón, que la podemos encontrar en values/strings

Cuando nos encontremos en java, para tratar los botones, lo haremos de la forma:

View boton3 = findViewById(R.id.boton3);  
        boton3.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // Perform action on click
                texto2.append("3");
            }
        });


Donde lo que hacemos es crear un nuevo elemento View, lo ponemos a la escucha y tenemos una funcion onClick, que en el caso de que el botón sea pulsado, en este caso añadirá al String que tenemos en texto2, que es el TextView de abajo, el numero 3.

En lo que se refiere a los TextView, tendremos en cuenta las dos formas de modificar su valor:

-> Con texto1.append("a");
Donde a la cadena ya existente le añadimos otra cadena

-> Con texto1.setText("hola");
De esta forma lo que haremos será borrar lo que estaba anteriormente y poner en texto1, la cadena "hola"

No hay comentarios:

Publicar un comentario

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | GreenGeeks Review