DESARROLLO DE APLICACIONES SOBRE ANDROID
APPLICATION DEVELOPMENT FOR ANDROID
Fecha de recepción: 9 de agosto de 2012
Fecha de aceptación: 14 de septiembre de 2012
Carlos Alberto Vanegas
Ingeniero de sistemas, Universidad Incca de Colombia. Especialista en Ingeniería de Software, Universidad Distrital Francisco José de Caldas. Magíster en Ingeniería de Sistemas, Universidad Nacional de Colombia. Docente investigador del grupo CompuParalela adscrito a la Facultad Tecnológica de la Universidad Distrital Francisco José de Caldas. cavanegas@udistrital.edu.co
Resumen
El sistema operativo Android es una plataforma de código abierto que admite la construcción de aplicaciones para, de manera sencilla, manejar, configurar y personalizar el dispositivo móvil; esto hace que se pueda disfrutar de una interfaz amigable en la que se puede priorizar necesidades como correo, chat, redes sociales, multimedia, mensajería, etc. En este artículo se presenta una breve descripción de Android, sus características y su arquitectura, así como el software necesario para el desarrollo de aplicaciones Android, complementado con una sencilla aplicación para realizar algunas operaciones matemáticas.
Palabras Clave:
aplicación, interfaz de usuario, máquina virtual, sistema operativo.
Abstract:
The Android operating system is an open source platform that supports building applications that allow managing, configuring and customizing the mobile device in an easy way. This makes it possible to enjoy a friendly interface where one can prioritize some needs such as email, chat, social networking, multimedia and messaging. In this article a brief description of the Android operating system is showed. Furthermore, its features, architecture and the software necessary for the development of Android applications are reviewed. All this complemented by a simple application to perform some mathematical operations.
Key words
Application, operating system, user interface, virtual machine.
1. Introducción
Android es un sistema operativo de código abierto para móviles basado en el núcleo de Linux, el cual permite desarrollar ilimitadas aplicaciones para teléfonos inteligentes, tabletas, reproductores MP3, televisores, cámaras, como también admite la distribución de los productos generados [1]. El proyecto Android es liderado por el grupo Open Handset Alliance, en el cual se agrupan varios fabricantes, desarrolladores de hardware y software, entre los cuales se pueden mencionar: Google, Samsung, HTC, Dell, Intel, Qualcomm, Motorola, LG, Telefónica, T-Mobile, Nvidia [2]. Mediante alianzas en el mundo, Android ha tenido un crecimiento acelerado, desde su primera versión [3] 1.0 liberada el 23 de septiembre del 2008 hasta la actual versión 4.0.3; cuenta con más de 200 millones de dispositivos móviles activados, lo que hace que cada día se activen 550.000 nuevos dispositivos en más de 137 países. Por otro lado, en el tercer semestre del 2011 se descargaron más de 2400 millones de aplicaciones para los dispositivos Android [1].
El SDK (kit de desarrollo de software) de Android proporciona las herramientas (correo electrónico, programa de SMS, calendario, mapas, navegador, contactos y otros) y Apis (interfaz de programación de aplicaciones) necesarias para empezar a desarrollar aplicaciones en la plataforma Android usando el lenguaje de programación Java [4]. Entre las características de la plataforma Android se encuentran:
2. Arquitectura Android
La arquitectura de Android [7], [8] está formada por 4 capas que permiten la generación de aplicaciones. El acceso a cada capa se realiza por intermedio de librerías, en las cuales cada capa puede utilizar los elementos de la capa inferior para realizar sus funciones. Las capas de la arquitectura Android son:
3. Software para desarrollar aplicaciones Android desde Eclipse IDE
Para crear una aplicación Android en Windows utilizando el software Eclipse IDE para Java (recomendado por Android para crear Apps –aplicaciones–), es necesario instalar el siguiente software:
4. Crear una aplicación Android con Eclipse IDE
Para desarrollar una aplicación Android llamada Operaciones Matematicas que permita capturar en un campo de texto un número y en un segundo campo de texto visualizar la raíz cuadrada, la potencia, el factorial y si es un número primo o no, se deben realizar los siguientes pasos:
Al pulsar la opción Project, se obtendrá la figura 2.
En esta ventana se puede modificar todo lo concerniente a la informacion de la aplicación:
Al pulsar el boton Finish, se obtendrá la figura 6.
Si se pulsa sobre el signo + al lado del nombre de la aplicación, se observarán los elementos del proyecto Android (figura 7) [9]:
En la parte izquierda se visualizarán los elementos actuales de la aplicación, en este caso un LinearLayout (contenedor) y un TextView (campo de texto). Además, en la ficha main. xml se podrá ver el código XML, el cual puede ser editado directamente. La figura 9 describe el código del archivo main.xml.
Como se puede observar, existen los elementos LinearLayout, TextView (dentro del elemento LinearLayout se encuentra el elemento TextView). En dichos elementos se definen una serie de atributos como son: el ancho (layout_ width), el alto (layout_height), la orientación (orientation) y el texto (text), el cual es una referencia definida en el archivo res/values/ strings.xml.
Con la adición de los elementos y la modificación del código se deberá observar la figura 12.
El código final del archivo main.xml es el siguiente:
La clase ActividadesOperacionesMatemticas hereda (extends) las propiedades de la clase Activity, lo que permite ejecutar acciones. También se creó el método onCreate(), el cual será llamado por la aplicación Android cuando se inicie su ejecución. En este método se debe realizar la inicialización y la configuración de la interfaz del usuario.
Entonces, antes del método onCreate() se crean las siguientes variables con el fin de asignarles posteriormente valores.
private TextView nuevotexto;
private EditText numerodigitado;
private EditText resultadoobtenido;
Después de la instrucción setContentView(R. layout.main) se asignan a las variables creadas los valores que contengan los objetos textoresultado, camponumero, camporesultado, respectivamente, como se muestra a continuación:
nuevotexto=(TextView)findViewById(R. id.textoresultado); numerodigitado=(EditText) findViewById(R.id.camponumero); resultadoobtenido=(EditText) findViewById(R.id.camporesultado);
En las variables se almacenan las referencias de los tres objetos. El método findViewById() permite enlazar las variables con los objetos creados en el archivo main.xml. Se pasa como argumento la constante creada en la clase R (se genera automáticamente), el identificador del objeto (id) y el nombre del objeto. Como la clase findViewById retorna una clase tipo View se debe realizar el operador cast para cada objeto.
A continuación se crean cuatro variables tipo Button y se le asigna a cada una los objetos Button definidos en el archivo main.xml.
Button verraiz=(Button)findViewById(R.id.botonraiz);
Button verpotencia=(Button)
findViewById(R.id.botonpotencia);
Button verfactorial=(Button)
findViewById(R.id.botonfactorial);
Button verprimo=(Button)findViewById(R.id.botonprimo);
Finalmente, a cada variable tipo Button se le añaden listeners (oidores) para que, cuando el usuario haga clic sobre algún botón, realice un determinado proceso. Además se implementa un método onClick() para el listener.
verraiz.setOnClickListener(new View.On-ClickListener()
{
public void onClick(View v)
{
nuevotexto.setText(“La raiz es:”);
resultadoobtenido.setText(“”+Math.sqrt(Double.parseDouble(numerodigitado.getText().toString())));
}});
A la variable verraiz se le adiciona el listener utilizando el método setOnClickListner. En el método onClick()a la variable nuevotexto en su propiedad setText se le asigna el texto “La raíz es:” y a la variable resultadoobtenido la raíz cuadrada del valor obtenido de la variable numerodigitado utilizando el método sqrt() de la clase Math de Java. A continuación se muestra el código de los demás botones.
Para poder utilizar los diferentes objetos es necesario importar los paquetes específicos antes de la creación de la clase ActividadesOperacionesMatematicas. Existen dos maneras de hacerlo: escribir en forma manual cada paquete que se va a utilizar o simplemente pulsar las teclas Ctrl+Shift+O, para que se añadan automáticamente. Los paquetes utilizados en la aplicación se escriben a continuación:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
La figura 17 muestra cómo quedaría el código de la aplicación.
Si se ejecuta nuevamente la aplicación, y se digita el número 5 en el campo de texto respectivo y se pulsa el botón Raíz Cuadrada, se observará en el emulador la figura 18.
>5. Conclusiones
6. Referencias
[1] Android everywhere. Disponible en www.android.com/developers/
[2] Open Handset Alliance. Disponible en www.openhandsetalliance.com/android_ overview.html
[3] Apis Level. Disponible en http://developer. android.com/guide/appendix/ api-levels.html
[4] What is Android. Disponible en http:// developer.android.com/guide/basics/ what-is-android.html
[5] La máquina virtual Dalvik. Disponible en http://gdroid.com.mx/blog/2011/06 /12/la-maquina-virtual-dalvik/
[6] The Webkit open source Project. Disponible en http://www.webkit.org/
[7] Arquitectura de Android. Disponible en http://androideity.com/2011/07/04/ arquitectura-de-android/
[8] Software de comunicaciones – Arquitectura Android. Disponible en https:// sites.google.com/site/swcuc3m/home /android/generalidades/2-2-arquitectura- de-android
[9] Desarrollo de aplicaciones Android. Disponible en http://tednologia.com/ introduccion-android/