9
Programando para Android: una sencilla aplicación Categoría: Java Android Vamos a hablar sobre como programar una aplicación para un dispositivo con Android que se va a tratar de una sencilla calculadora. Como todos sabemos, Android se programa mediante el lenguaje de programación Java. Este ejemplo de la calculadora puede parecer demasiado básico, pero con una idea inicial de como hacer una pequeña aplicación para Android y nociones sobre Java, veremos que desarrollar un programa más complejo es muy fácil. En primer lugar , necesitaremos el Android SDK que lo podemos descargar de http://developer.android.com/sdk/index.html Tras instalarlo deberemos ejecutar el archivo android dentro de la carpeta tools y hacer lo siguiente: Instalar la plataforma de la versión Android a emular, lo haremos desde la pestaña Available packages y elegiremos la versión que queramos (2.1, 2.2, 2.3, etc) Crear un dispositivo virtual, pestaña Virtual devices, que será nuestro dispositivo a emular. Como segundo paso , haremos uso de la plataforma Eclipse y su plugin ADT para el desarrollo de Android bajo Eclipse. Podemos hacerlo desde la dirección http://developer.android.com/sdk/eclipse-adt.html Ahora nos quedaría configurar Eclipse para que supiera la ruta hasta el SDK de Android y tendríamos todo preparado para trabajar. Lo podemos hacer desde el menú Window -> Preferences y dentro de la ventana en la pestaña Android tenemos la opción SDK Location.

Aplicación calculadora Android

Embed Size (px)

Citation preview

Page 1: Aplicación calculadora Android

Programando para Android: una sencilla aplicaciónCategoría: Java Android

Vamos a hablar sobre como programar una aplicación para un dispositivo con Android que se va a tratar de una sencilla calculadora.

Como todos sabemos, Android se programa mediante el lenguaje de programación Java. Este ejemplo de la calculadora puede parecer demasiado básico, pero con una idea inicial de como hacer una pequeña aplicación para Android y nociones sobre Java, veremos que desarrollar un programa más complejo es muy fácil.

En primer lugar, necesitaremos el Android SDK que lo podemos descargar de http://developer.android.com/sdk/index.html

Tras instalarlo deberemos ejecutar el archivo android dentro de la carpeta tools y hacer lo siguiente:

Instalar la plataforma de la versión Android a emular, lo haremos desde la pestaña Available packages y elegiremos la versión que queramos (2.1, 2.2, 2.3, etc)

Crear un dispositivo virtual, pestaña Virtual devices, que será nuestro dispositivo a emular.

Como segundo paso, haremos uso de la plataforma Eclipse y su plugin ADT para el desarrollo de Android bajo Eclipse. Podemos hacerlo desde la dirección http://developer.android.com/sdk/eclipse-adt.html

Ahora nos quedaría configurar Eclipse para que supiera la ruta hasta el SDK de Android y tendríamos todo preparado para trabajar. Lo podemos hacer desde el menú Window -> Preferences y dentro de la ventana en la pestaña Android tenemos la opción SDK Location.

Ahora tenemos todo preparado y configurado para empezar a crear aplicaciones. La web del SDK de Android contiene varios ejemplo de como empezar a programar y el ejemplo más sencillo es el del "Hola Mundo" donde viene todo el proceso indicado arriba de forma más detallada (lo podéis encontrar aquí http://developer.android.com/resources/tutorials/hello-world.html).

Nosotros nos vamos a basar en uno un poco más avanzado y lo vamos a ampliar hasta crear una aplicación con cierta utilidad. Este ejemplo es el de como posicionar elementos con tamaños y posiciones relativas http://developer.android.com/resources/tutorials/views/hello-relativelayout.html y vamos a añadir algunos elementos y funcionalidades para crear nuestra sencilla calculadora.

Creando nuestra primera aplicación para Android

Page 2: Aplicación calculadora Android

Para ver cual queremos que sea la interfaz final e intuir el funcionamiento, vamos a mostrar una captura de pantalla del resultado final en el emulador:

donde podemos ver tres elementos: TextView (objeto para mostrar texto), EditText (caja de entrada de texto) y Button (botón).

Empezaremos creando en Eclipse un proyecto para Android, modificaremos el archivo res/layout/main.xml en su vista de código de fuente y pegaremos el siguiente código XML:

view source

print ?

01 <?xml version="1.0" encoding="utf-8"?>

02 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

03     android:layout_width="fill_parent"

Page 3: Aplicación calculadora Android

04     android:layout_height="fill_parent">

05     <TextView

06         android:id="@+id/label_a"

07         android:layout_width="fill_parent"

08         android:layout_height="wrap_content"09         android:text="Operando A:"/>

10     <EditText

11         android:id="@+id/op_a"

12         android:layout_width="fill_parent"

13         android:layout_height="wrap_content"

14         android:background="@android:drawable/editbox_background"15         android:layout_below="@id/label_a"/>

16      <TextView

17         android:id="@+id/label_b"

18         android:layout_width="fill_parent"19         android:layout_height="wrap_content"

20         android:layout_below="@id/op_a"     

21         android:text="Operando B:"/>

22     <EditText

23         android:id="@+id/op_b"

24         android:layout_width="fill_parent"

25         android:layout_height="wrap_content"

26         android:background="@android:drawable/editbox_background"27         android:layout_below="@id/label_b"/>       

28     <Button

29         android:id="@+id/sumar"

30         android:layout_width="wrap_content"31         android:layout_height="wrap_content"

32         android:layout_below="@id/op_b"

33         android:layout_alignParentLeft="true"

34         android:layout_marginLeft="1dip"

35         android:onClick="cSumar"        

36         android:text="+" />

37     <Button

38         android:id="@+id/restar"    

39         android:layout_width="wrap_content"

40         android:layout_height="wrap_content"

Page 4: Aplicación calculadora Android

41         android:layout_toRightOf="@id/sumar"

42         android:layout_alignTop="@id/sumar"

43         android:onClick="cRestar"             

44         android:text="-" />

45     <Button

46         android:id="@+id/multiplicar"   

47         android:layout_width="wrap_content"

48         android:layout_height="wrap_content"49         android:layout_toRightOf="@id/restar"

50         android:layout_alignTop="@id/restar"

51         android:onClick="cMultiplicar"            

52         android:text="*" />

53     <Button

54         android:id="@+id/dividir"    

55         android:layout_width="wrap_content"

56         android:layout_height="wrap_content"57         android:layout_toRightOf="@id/multiplicar"

58         android:layout_alignTop="@id/sumar"

59         android:onClick="cDividir" 

60         android:text="/" />   

61     <TextView

62         android:id="@+id/texto_resultado"

63         android:layout_width="fill_parent"

64         android:layout_height="wrap_content"

65         android:layout_below="@id/dividir"                    

66         android:text="Resultado:"/>              

67     <TextView

68         android:id="@+id/resultado"

69         android:layout_width="fill_parent"

70         android:layout_height="wrap_content"

71         android:layout_below="@id/texto_resultado"          

72         android:text="Realice operación para obtener resultado"/>                  

73 </RelativeLayout>

Los atributos relevantes para este ejemplo de cada elemento son:

android:id identificador de cada objeto

Page 5: Aplicación calculadora Android

android:layout_width y android:layout_height, anchura y altura respectivamente

android:layout_below: indica si el objeto está debajo de otro

android:layout_toRightOf y android:layout_alignTop: indican si están varios elementos en la misma fila sobre qué objeto se coloca a su derecha y su posicionamiento en altura

android:text es el texto por defecto en cada elemento

android:onClick es el nombre del método público a ejecutar al pulsar ese botón. Este método debe ser obligatoriamente público y tener como parámetro de entrada la vista, ejemplo public void function cSumar(View view) { ... }.

ahora vamos a programar el funcionamiento de los objetos descritos en el archivo de extensión java creado para el proyecto:

view source

print ? 01 package com.android.calculadora;

02   

03 import android.app.Activity;

04 import android.os.Bundle;

05 import android.widget.*;

06 import android.view.*;

07   

08 public class Calculadora extends Activity {

09       

10     // Instancias de objetos a usar 11     private double valor_a, valor_b;

12     private EditText op_a, op_b;

13     private TextView resultado;

14       

15     public void onCreate(Bundle savedInstanceState) {

16         super.onCreate(savedInstanceState);

17         setContentView(R.layout.main);

18           

19         // Asignamos los objetos

20         this.op_a = (EditText) findViewById(R.id.op_a);

21         this.op_b = (EditText) findViewById(R.id.op_b);

22         this.resultado = (TextView) findViewById(R.id.resultado);              

23     }

Page 6: Aplicación calculadora Android

24   

25     public void cSumar(View view) {

26         if(this.op_a.getText().toString().length() > 0 && this.op_b.getText().toString().length() > 0) {

27             this.valor_a = Double.parseDouble(this.op_a.getText().toString());

28             this.valor_b = Double.parseDouble(this.op_b.getText().toString());    

29             this.resultado.setText(Double.toString((this.valor_a + this.valor_b)));         

30         }

31     }

32   

33     public void cRestar(View view) {

34         if(this.op_a.getText().toString().length() > 0 && this.op_b.getText().toString().length() > 0) {

35             this.valor_a = Double.parseDouble(this.op_a.getText().toString());

36             this.valor_b = Double.parseDouble(this.op_b.getText().toString());    

37             this.resultado.setText(Double.toString((this.valor_a - this.valor_b)));         

38         }

39     }

40       

41     public void cMultiplicar(View view) {

42         if(this.op_a.getText().toString().length() > 0 && this.op_b.getText().toString().length() > 0) {

43             this.valor_a = Double.parseDouble(this.op_a.getText().toString());

44             this.valor_b = Double.parseDouble(this.op_b.getText().toString());    

45             this.resultado.setText(Double.toString((this.valor_a * this.valor_b)));         

46         }

47     }

48       

49     public void cDividir(View view) {

50         if(this.op_a.getText().toString().length() > 0 && this.op_b.getText().toString().length() > 0) {

51             this.valor_a = Double.parseDouble(this.op_a.getText().toString());

52             this.valor_b = Double.parseDouble(this.op_b.getText().toString());    

Page 7: Aplicación calculadora Android

53             if(this.valor_b != 0) {

54                 this.resultado.setText(Double.toString((this.valor_a / this.valor_b)));                 

55             }

56             else { 57                 this.resultado.setText("Infinito");                 

58             }

59         }

60     }        61 }

El método onCreate se ejecuta al crear la aplicación y es donde asignamos los objetos declarados en el XML a objetos Java. Tras ello declaramos las funciones definidas en los atributos onClick de cada botón.

Por último nos quedaría ejecutarlo y probar el funcionamiento.

Conclusiones

Como hemos dicho, este ejemplo de una calculadora es un ejemplo muy sencillo pero podemos ver que con un poco de código y unas pequeñas nociones sobre Android SDK podemos sacar muchísimo provecho de nuestros conocimientos sobre Java.