P. 1
Programación_android_pdf

Programación_android_pdf

|Views: 6|Likes:
Publicado porPedroNaveda

More info:

Published by: PedroNaveda on Jun 07, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

11/25/2015

pdf

text

original

para programadores Programación en Android, el Linux que estará en todos los móviles

,

Programación en Android
Francisco Javier Carazo Gil

El anuncio por parte de Google y las compañías líderes mundiales del sector de las telecomunicaciones mundiales sobre la creación de Android, el sistema operativo para móviles basado en el núcleo de Linux, ha supuesto el mayor empujón que ha recibido el software libre quizás en toda su historia. Y es que en un sector en el que todavía no hay un monopolio de facto como en el de los ordenadores de escritorio, en el que también se está progresando, la colaboración de Google y los gigantes de las telecomunicaciones van a suponer para Android poder competir en unas condiciones inmejorables contra sus rivales de código cerrado.

E

l cada vez más bamboleante sector de los móviles está viviendo a día de hoy el mayor cambio de su historia en cuanto a software se refiere. Atrás quedaron los sistemas propios de cada empresa que apenas dejaban al usuario ejecutar una máquina virtual de la versión Micro Edition de Java. Las posibilidades del hardware móvil son hoy tan grandes, que es más que posible llevar a cabo casi todas las actividades que anteriormente sólo estaban permitidas para sistemas de escritorio o portátiles. Por ejemplo la reproducción de vídeo codificado con codec de cierta complejidad, la visualización de presentaciones o simplemente la posibilidad de navegar por Internet son hoy en día funcionalidades que se deben exigir a los móviles de gama alta. Con el paso del tiempo todas estas funcionalidades irán pasando cada vez a gamas más bajas y posiblemente los móviles sustituirán a los equipos actuales de sobremesa y portátiles para la realización de muchas tareas. Esta revolución que se nos avecina está empezándose a librar a día de hoy ya en el terreno de los sistemas operativos. La primera figura en caer de esta batalla ha sido Palm

OS. El sistema operativo para PDA y smartphones (los móviles que combinan funciones con PDA) desapareció como tal en febrero de 2006 dando paso a un sucesor llamado ACCESS Linux Platform del que no se sabe demasiado. En esta dura batalla de los sistemas operativos para dispositivos móviles los grandes contrincantes son todos de código cerrado y sus nombres son Microsoft Windows Mobile, Blackberry OS y Symbian OS. Aparte está el sistema operativo libre para PDA y móviles OpenMoko, y el sistema que trae iPhone que está comenzando a llegar al mercado. Sin duda, se espera una auténtica guerra entre todos estos dispositivos y el protagonista de este artículo, Android.

linux@software.com.pl

¿Qué es Android?

Android es una plataforma libre para teléfonos móviles, basada en GNU/Linux y con licencia GPL que va a meter de lleno al software libre en esta batalla. Creado por la Open Handset Alliance, alianza tecnológica encabezada por Google, acompañada de compañías del nivel de T-Mobile, HTC, Motorola, Telefónica, Samsung, Intel o Nvidia; tiene el respaldo suficiente para tener un

2

Linux+ 3/2008

Estas librerías están escritas en C/C++ y pueden ser accedidas directamente desde los programas de la plataforma. El potencial de Android no está sólo avalado por las empresas que lo respaldan sino por sus propias características técnicas. A este nivel están implementados todos los controladores primarios (cámara. éxito seguro y para convertir al software libre en el producto dominante en esta porción del mercado de la tecnología. Sobre el núcleo están escritas las librerías que se encargan de las funcionalidades básicas. así como de imágenes. Núcleo Es Linux.para programadores Programación en Android. SGL: El motor gráfico 2D. aunque Figura 1.org 3 . Librería del núcleo web: Moderno motor de navegación web que posibilita usar el navegador de Android así como vistas incrustadas de los sitios web. Interfaz gráfica de usuario de OpenMoko datos del programa.4. Características de Android La característica que me parece más importante es que se trata de una plataforma totalmente abierta tanto para fabricantes de dispositivos móviles como para desarrolladores de aplicaciones. teclado. por ahora.APK: Comprimido con ejecutables y Figura 2.. Vayamos explicando uno a uno los puntos más importantes de la plataforma.). preparadas para un mejor funcionamiento en dispositivos embebidos que usan Linux. FreeType: Renderización de mapas de bit y gráficos vectoriales.0. www.lpmagazine. Gestor de superficies: Maneja el acceso al dispositivo de pantalla. Librerías para 3D: Implementación basada en las API de OpenGL ES 1. SQLite: Proporciona soporte para base de datos relacionales.. Arquitectura del sistema también pueden añadirse más drivers por parte del fabricante del dispositivo (por ejemplo el controlador de la pantalla táctil).16 del kernel de Linux. Algunas de ellas y sus funcionalidades son: • Librerías en C del sistema: Implementaciones de las librerías estándar de C. Maneja dos tipos de archivos: • . Librerías multimedia: Proporcionan soporte para grabación y reproducción de audio y vídeo. el Linux que estará en todos los móviles. USB. • • • • • • • Máquina virtual Dalvik Es la encargada de ejecutar los programas. concretamente la versión 2.

Las fechas por ahora son muy difusas. Samsung.. hasta la aparición de Android suponía el sistema libre con más fuerza en este campo. por lo que en caso de pedirse Android buscaría la aplicación adecuada para servir dicho intento. OpenMoko no ha tenido el respaldo de ninguna gran empresa y sólo el móvil Neo1973 de la empresa coreana FIC ha llegado a venderse con dicho sistema instalado para ser usado con cualquier compañía. Además Android asegura una funcionalidad comparable o incluso mejor de la de dispositivos tan cuidados como iPhone. sino a HTC. La versión del reproductor Flash. así que desgraciadamente nos tendremos que esperar un poco. • • OpenMoko la otra alternativa libre Seguridad La seguridad es uno de los aspectos más cuidados de Android. manejado por las facilidades estándar de Linux teniendo en cuenta permisos de acceso para archivos. es que en el momento de su lanzamiento al público tendrá más de una campaña publicitaria detrás y mucho más marketing aparte. plataformas (que llevan unos cuantos años por delante de Android) pero gracias a las facilidades que da Android a la comunidad esto tampoco será problema a la larga. por lo que en Android tenemos un ganador seguro. usuarios. de excepcional importancia en la actualidad a pesar de no ser libre. es un archivo similar a . está prevista que sea liberada en breve para atender a los miles de dispositivos que traerán consigo Android. que se encarga de la integridad del código. por lo que nos aseguramos de un perfecto visionado de los sitios web que cumplan con los estándares.org. llamadas.class de Java pero post procesado para conseguir un mejor rendimiento en la máquina Dalvik. Está dividido en nive- Previsiones de comercialización Con las empresas que se encuentran respaldando el proyecto. Android no tendrá problemas de comercialización. • . Hola Mundo – Hola Android en un momento dado. gestión de procesos.DEX: De Dalvik ejecutable. Las interfases gráficas de usuario están diseñadas usando archivos XML que además de fáciles de diseñar permiten al equipo representar las interfases en la mayor parte de los casos independientemente de las dimensiones de la pantalla. Lo que sí es seguro. por lo que os puedo asegurar que nos enteraremos todos. pero se espera que Android esté disponible y operativo en el mercado a finales de 2008.para programadores Programación en Android. y no me refiero a Google ahora. El nivel alto. traducción al español de intent. Basado también en el núcleo de Linux. así como un sistema de permisos explícitos de cara a los servicios a los que un programa desea acceder Figura 5. Intent Reciver: Un intento. Primero está el bajo nivel. Algo parecido le pasó por ejemplo a la consola GP2X que por desgracia tiene un público realmente limitado y no ha podido despegar al igual que sus competidoras Nintendo DS y Play Station Portable por culpa de la falta de comercialización. El navegador que utiliza WebKit que a su vez también está implementado usando KHTML. OpenMoko usa un entorno gráfico de usuario basado en el servidor X. les. Vista inicial del emulador Figura 4. el Linux que estará en todos los móviles. Están armadas en base a cuatro bloques de construcción: • • Activity: Parte visual de la aplicación. 4 Linux+ 3/2008 . y de aislar una aplicación de otra. del sistema de acceso. OpenMoko es un ejemplo más de cómo un gran producto no llega a triunfar por culpa de la falta de comercialización y sobre todo por no tener el respaldo de algún grande de la tecnología mundial. La máquina virtual tiene acceso a: • • Core Libraries: Librerías con las clases estándar de Java. Content provider: Proporciona a la aplicación capacidad de interactuar de manera sencilla con la parte interna de Android. sería algo así como un evento genérico que sería independiente de los programas. servicios. las librerías GTK+ y el gestor de ventanas Matchbox (el mismo que por cierto usarán los OLPC). Service: El concepto de demonio en Linux aplicado a Android. Motorola... Otros aspectos de importancia Aparte de lo ya comentado es interesante resaltar que Android es totalmente compatible con cualquier tipo de transmisión por lo que funcionará igual sobre dispositivos que usen GPRS con otros que usen 3G. Aplicaciones Todas están escritas en Java pero tienen acceso directo a bajo nivel a través de la API. Application Framework: Módulos escritos en Java que permiten interactuar con la agenda de contactos. etc. Está basado en el framework de OpenEmbedded y el sistema de paquetes ipkg. Anunciado en 2006. Sólo falta software suficiente para rivalizar de manera directa con las demás Figura 3.. está manejado en Java.. Resultado del proyecto de prueba Android no es ni mucho menos el primer sistema operativo libre que aparece en los dispositivos de carácter móvil. Además en niveles intermedios Android hace uso de la Memoria Protegida. Por ejemplo podría ser algo así como enviar sms. Sin embargo. la mensajería.

setContentView(R. public class Conversorextends Activity { @Override Instalación del kit de desarrollo de software de Android /** Called when the activity is first created.0"encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas. usando Java y las clases pertinentes.para programadores Programación en Android. string.0"encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.xml <?xml version="1.zip • Creamos un directorio para copiar el contenido (cambiamos oportunamente las rutas para adecuarlas a nuestro caso): mkdir $HOME/android_sdk • Copiamos el contenido: sudo cp -r $HOME/android _sdk_linux_m3-rc22a /* $HOME/ android_sdk • Añadimos al PATH de bashrc (o bash_ profile) el directorio tools de la SDK: sudo nano $HOME/.app. */ public void onCreate(Bundle icicle) { super.0" encoding="utf-8"?><resources> <string name="app_name">Conversor</string> <string name="libras">Libras:</string> <string name="kilogramos">Kilogramos:</string></resources> export PATH=${PATH} :$HOME/android_sdk/tools Ya tenemos todo listo para proseguir instalando ahora.xml <?xml version="1.org 5 . han hecho que muchos de los desarrolladores libres vean con más que buenos ojos a Android. Listado 1.layout.android. Creando el primer LinearLayout horizontal <?xml version="1. import android.onCreate(icicle).android.java package conversor.Activity. www. Conversor. Google anunciaba que liberaba también la SDK del mismo y que convocaba un concurso llamado Android Developer Challenge cuya fecha de finalización está prevista para marzo de 2008 y cuya cuantía en premios asciende hasta los 10 millones de dólares. el Linux que estará en todos los móviles.peso. podamos desarrollar (y probar usando el emulador que incorpora) el software necesario para el sistema. que viene comprimida en formato ZIP de la web de Android en la sección de Software development kit -> Download SDK -> Linux (i386).Bundle.lpmagazine. main.main). Estos dos movimientos. com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> </LinearLayout></LinearLayout> Nada más anunciar el producto.os. El kit de desarrollo proporciona las herramientas necesarias para que. el plugin de Eclipse.com /apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@ string/libras" /><EditText id="@ +id/libras" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/kilogramos" /> <EditText id="@+id/kilogramos" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout></LinearLayout> unzip android_sdk_linux_m3-rc22a. además de mover a la comunidad entera. import android.}} Listado 2.bashrc • Incluimos al final por ejemplo: Listado 4. Una vez descargado procedemos a: • Descomprimimos el archivo: Listado 3. Instalación de la SDK Procedemos primeramente a descargar la SDK.

Button librasAKilogramos =(Button)findViewById(R. Accedemos a File > New > Project. la creación del proyecto para Android es algo automático. } } También podemos elegir otras opciones para el emulador y en el apartado al margen que se llama Common. Creamos un nuevo sitio remoto. deberemos estar atentos y de vez en cuando repetir los primeros pasos de la instalación del plugin para ver si hay disponible una versión nueva. Para ello 6 Linux+ 3/2008 . Instalación del plugin de Eclipse (ADT) La instalación del plugin de Eclipse para desarrollar proyectos con Android se realiza de manera totalmente gráfica: • • Iniciamos Eclipse y nos dirigimos a: Help > Software updates > Find andinstall. Button kilogramosALibras =(Button)findViewById(R. androidManifest. Preferences > Android y asignamos la ruta en SDK Location.id. Botones <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <Button id="@+id/librasAKilogramos" android:text="@string/librasAKilogramos" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button id="@+id/kilogramosALibras" android:text="@string/kilogramosALibras" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> • Antes de hacer uso de él deberemos reiniciar Eclipse y hacer que apunte al directorio donde tenemos instalada la SDK. En el diálogo que nos aparece elegimos: Search for new features to install y presionamos en Next. depurarla o simplemente guardar esta nueva configuración de ejecución para usarla posteriormente. Personalicemos algo más eso. @Override /** Called when theactivity is first created. si ejecutáis el código veréis un texto parecido a un típico Hello World. Lo seleccionamos: Android Plugin > Eclipse Integration > Android Development Tools y presionamos Next. en plena fase de desarrollo.layout. Listado 5.librasAKilogramos). Asignamos el nombre del proyecto así como si vamos a trabajar con nuevo código o con código ya existente y: • • • Nombre del paquete: prueba. private EditTexttextoKilogramos. Ya podemos entonces ejecutar la aplicación. textoKilogramos = (EditText)findViewById(R. Dado que todavía se encuentra tanto Android.primera por ejemplo. */ public void onCreate(Bundle icicle) { super.. res/: Donde se almacenarán los recursos del proyecto. hola Android Una vez visto esto.google. Nombre de la actividad: prueba Nombre de la aplicación: prueba Primeros pasos con Eclipse y Android • Gracias al plugin que acabamos de instalar.id. Una vez seleccionado.com/ android/eclipse/. El sistema buscará información sobre el plugin y acto seguido aparecerá un diálogo donde se nos mostrará el plugin para elegir. Hola mundo...para programadores Programación en Android..main). Figura 6.. setContentView(R.libras).id.id. Hola mundo que todos. aceptamos las condiciones de uso y acto seguido el plugin se habrá terminado de instalar.kilogramos).xml: Información sobre el proyecto.onCreate(icicle). como su SDK. Actividad dentro del mismo a ejecutar. Le damos nombre y asignamos: • • Nombre del proyecto a ejecutar. New remote site incluyendo como título Android Plugin por ejemplo..kilogramosALibras) . Veamos qué debemos modificar para que aparezca el típico. Para asignar la ruta de la SDK al plugin entramos en las preferencias de Eclipse. Resultado con libras y kilogramos ya listos para introducir. el Linux que estará en todos los móviles. Incluyendo los EditText y Button dentro del fichero java public class Conversorextends Activity { private EditTexttextoLibras. En el diálogo que nos aparece tenemos disponible una opción para crear El plugin creará dos directorios y un archivo XML: • • • src/: Donde se almacenará nuestro código. • • • Ya estamos listos para comenzar a realizar nuestros primeros proyectos con Eclipse para Android. como el plugin. Listado 6. o casi todos. Dentro de él seleccionamos a Android y elegimos crear una nueva configuración. hacemos cuando comenzamos a probar con un nuevo lenguaje o plataforma. Creando la configuración de ejecución Nos dirigimos al diálogo de configuración de la ejecución: Run > Run. textoLibras = (EditText)findViewById(R. y como URL del mismo: https://dl-ssl. un proyecto para Android.

Volviendo a la sentencia anterior.xml definido en el directorio values del proyecto. Las propiedades que usaremos serán: • • layout_height: Altura. Los layout aunque puedan parecer poco intuitivos.layout. TextView y EditText Para poner la palabra Libras en el interfaz usaremos los llamados TextView. vamos a comenzar a desarrollar un conversor de kilos a libras. Esta sentencia indica qué interfaz de usuario se establece cuando la actividad se llama. Luego anidaremos dentro de él más LinearLayout con orientación horizontal para poder contener el resto de elementos. Nosotros tendremos primero un LinearLayout vertical que almacene los cuatro campos que nos interesan. El campo @string/libras hace referencia al archivo string. La sintaxis de XML nos facilita muchos estos anidamientos. Pasemos ahora a crear el campo de texto donde se insertará la cantidad de libras. Para el ejemplo he elegido los siguientes nombres: • • • • Nombre proyecto: Conversor Nombre paquete: conversor.google. creamos otros LinearLayout que tenga orientación horizontal.<string name="app_name"> Conversor</string> bras. Con esta simple modificación ya cambiamos el valor del campo que aparece en pantalla. Un botón para convertir de kilos a libras y otro para hacer lo contrario.main). Figura 7. Para crear la línea definida porla etiqueta Libras y el campo de texto para insertar el valor de las mismas.org/ • • www.para programadores Programación en Android. el directorio layouts con sus distintos archivos XML de los que os he hablado anteriormente para definir interfaces gráficos de usuario. Si os fijáis ese LinearLayout vertical que os comento ya viene definido dentro del proyecto autogenerado por la siguiente sentencia: android:orientation="vertical”.anddev. La sintaxis es análoga a la de los LinearLayout.xml. De esta manera tendremos además de algo de cálculo detrás. nos permiten crear interfaces de manera rápida y lo que es más importante. Este archivo que de primeras sólo tiene Empezando a trabajar con layouts guardado el nombre de la aplicación. un interfaz un poco más completo con: • • Un campo para introducir los kilos y otro para introducir las libras. Posteriormente antes de ejecutar modificamos el archivo main. • Botón para convertir de kilogramos a li. Como os comentamos antes al comienzo del artículo. Ahora dentro de este LinearLayout colocaremos la etiqueta de Libras y el campo de texto para insertar la cantidad. Como veréis. Ya tenemos la etiqueta puesta. text: Texto del mismo. un concepto muy importante en Android es el de actividad que puede ser llamada por otro software en ejecución. nos servirá para almacenar las cadenas • Libras: (campo de texto para introducir de nuestra interfaz.java: La sentencia que nos interesa ahora es: setContentView(R.org 7 . Usaremos los llamados EditText y también los incorporaremos al LinearLayout vertical que hemos creado.0" cir cantidad) • Botón para convertir de libras a kilogra.openhandsetalliance. Una vez cargado el proyecto. solucionan el problema de los distintos tamaños de pantalla que hay en los dispositivos móviles. deciros que establece el interfaz en el archivo main de layout.html Open Handset Alliance http://www. como el que hemos modificado en el ejemplo de Hola Mundo. puede parecer de primeras más complejo. por lo que se facilita mucho labores como Enviar SMS o Llamar a tal contacto que pueden ser a su vez actividades." /> Nuestro TextView será así: <TextView android:layout_width="wrap_ content" android:layout_height="wrap_content" android:text="@string/ libras" /> De manera que el campo android:text. contenga la cadena para escribir ¡Hola Mundo! Hola Android. Interfaz completo creamos un nuevo proyecto como el anterior y lo nombramos Hola Mundo. observamos el contenido de Conversor. Lo anidamos como está demostrado en el Listado 2. Los layout nos ofrecen la posibilidad de hacerlo definiendo primero un tipo de contenedores llamados: LinearLayout.lpmagazine.com/ Android Development Community http://www.encoding="utf-8"?> <resources> mos. Por ejemplo en este caso tendremos: cantidad) • Kilogramos: (campo de texto para introdu<?xml version="1. Las propiedades que usaremos serán: Lo primero que haremos será crear un proyecto tal y como lo hemos hecho antes. sin embargo es cuestión de acostumbrarse al modo de programar del mismo. mismo. el Linux que estará en todos los móviles. Éstos agrupan otros contenedores a su vez en su interior y pueden tener dos orientaciones: vertical u horizontal.com/android/ index. Lo único que hemos cambiado en el nuevo LinearLayout ha sido la orientación del <string name="libras"> Libras:</string> </resources> Conversor de kilos a libras Para hacer un ejemplo un poco más complejo en el que manejemos algo más de Android. Los layout están definidos en archivos XML. appNaPuesto que queremos hacer algo así como: me. que está dentro de layouts y cambiamos el siguiente valor: <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Hola Mundo! Hola Android.peso Nombre actividad: Conversor Nombre aplicación: Conversor En la red • Android http://code.

[.xml. el Linux que estará en todos los móviles. • • • id: Identificador layout_width: Anchura layout_height: Altura Listado 7. toString())*.xml almacenamos el contenido y las cadenas que aparecen en nuestra interfaz.OnClickListener() { { public void onClick(View view) textoLibras.xml: <string name="cerrar">Cerrar</string> En main. Definición de los métodos de cálculo librasAKilogramos.setOnClickListener(new View. envuelven el contenido o rellenan al padre respectivamente.id.setOnClickListener(new View.setText(""+Double.. Nuestro EditText tendrá la siguiente forma: <EditText id="@+id/libras" android:layout_width="fill_parent" android:layout_height="wrap_content" /> Listado 8.toString())/.getText(). Botón cerrar En string.para programadores Programación en Android. En el texto se hará una referencia al texto en sí que aparecerá dentro del botón que estará guardado en string.salir).getText( ). los incluiremos usando button. Definamos primero lo que vamos a incluir en el main.xml y a string. } } ) . las propiedades que usaremos del mismo son: • • • • id: Identificador text: Texto layout_width: Anchura layout_height: Altura Listado 9. } } ) .xml definimos las propiedades y en string. El resultado lo podéis ver en la Figura 6.java: Button salir = (Button) findViewById(R. Si hacemos lo mismo para kilogramos y lo añadimos al main.xml nos quedarán como en los Listados 3 y 4.OnClickListener() public void onClick(View view) { setResult(RESULT_OK). } } ) .xml.4535924). los haremos incluyendo dos button en un nuevo LinearLayout horizontal que albergará a ambos botones.parseDouble(textoLibras.. Figura 8.xml: <Button id="@+id/cerrar" android:text="@string/cerrar" android:layout_width="fill_parent" android:layout_height="wrap_content" /> En Conversor. Es la manera más rápida y eficiente (al menos para estos ejemplos) de definir una altura y una anchura que se ajustan a nuestras necesidades.parseDouble (textoKilogramos. Como veis el sistema es siempre el mismo. finish(). Los botones.setOnClickListener(new View. Creamos un nuevo LinearLayout horizontal e incluimos los botones (Listado 5).] { salir.OnClickListener() { { public void onClick(View view) textoKilogramos. wrap_content y fill_parent.4535924). kilogramosALibras. Conversor funcionando 8 Linux+ 3/2008 . en main. Campos numéricos <EditText id="@+id/libras" android:layout_width="fill_parent" android:numeric="true" android:layout_height="wrap_content" /> <EditText id="@+id/kilogramos" android:layout_width="fill_parent" android:numeric="true" android:layout_height="wrap_content" /> Los valores que hemos usado o usaremos para anchura y altura.setText(""+Double. Añadiendo botones Para incluir los botones.

La inclusión de menús o de más elementos en la interfaz así como el manejo de las librerías que os he comentado anteriormente. uno para cada EditText y otros dos objetos ya dentro del método onCreate para manejar las acciones de los botones. Os animo desde aquí a que forméis parte de la comunidad de desarrolladores y comencéis a hacer aún más grande a este sistema operativo que está llamado a hacer historia. Para ello utilizaremos onClickListener y dentro de él crearemos la definición de la acción para el evento onClick. Como podéis observar textoLibras y textoKilogramos son atributos de la clase Conversor ya que los manejaremos en más métodos que en el onCreate. Ahora crearemos dos métodos más en la clase para hacer las dos acciones. Nacido en Córdoba. la programación y todo lo relacionado con GNU/Linux. es un mero esqueleto que no tiene funcionalidad. Podéis contactar con él a través de su correo personal. Es webmaster de LinuxHispano. Si pulsamos el botón Cerrar la aplicación se cerrará y volveremos al menú inicial de Android en el emulador. espero que el contenido del mismo os sirva para romper el hielo y animaros a programar en esta plataforma que gracias al apoyo de las empresas líderes del www. Las posibilidades como habéis visto son numerosas y las dificultades. Figura 10. Las llamadas DevTools son una ayuda más para el desarrollador que Android nos ofrece.4535924) para este caso.xml (Listado 7). Su sitio web personal está en http: //www.lpmagazine. La acción inversa será hacer lo mismo pero dividiendo y cambiando de orden los campos (Listado 8). Sobre el autor Francisco Javier Carazo Gil esIngeniero Técnico en Informática de Sistemas. Sin embargo. La primera acción será si hacemos clic en el botón de transformación de libras a kilogramos rellenar el campo texto kilogramos con el producto del número de libras por la razón de conversión (0.sus intereses son principalmente el software libre. Manejar el bluetooth o crear una aplicación que use navegación web son posibilidades que gracias a la API de Android se desarrollan de manera bastante simple.org 9 .para programadores Programación en Android. Para hacer la operación crearemos dos métodos dentro de onCreate que se dediquen cada uno a hacer la operación de libras a kilogramos y viceversa. el Linux que estará en todos los móviles. Para ello usaremos en el archivo con el código Java los métodos: • setResult con el parámetro RESULT_OK para indicar a Android que la actividad ha finalizado correctamente. con la típica estructura de Java try y catch también en Android. está llamada a ser quien lidere el emergente sector de los sistemas operativos para dispositivos móviles.widget. finish() para cerrar la aplicación. Colaborador habitual de esta revista. Logo de Android Definiendo métodos para realizar los cálculos La manera más eficiente de hacerlo es asignar la propiedad de campo numérico a los mismos.Button. como por ejemplo lo raro que pueden resultar de primeras el uso de layouts. Creamos dos atributos privados para la clase. porque Google y el resto de componentes del proyecto han conseguido diseñarlo de manera que resulta realmente fácil programar y desarrollar para el mismo. actualmente está estudiando Ingeniería en Informática. Lo primero que haremos será importar: import android. Además asignamos a cada uno que manejen el EditText o Button correspondiente con el método findViewById al que le pasamos como parámetro el identificador y nos devuelve el objeto de la vista con dicho identificador.jcarazo. pasar de libras a kilogramos y viceversa. son el siguiente paso para seguir desarrollando nuestro trabajo. Esto lo hacemos en el fichero main. Ha trabajado anteriormente con contrato de becario en el Ilustre Colegio de Abogados de Lucena. Veamos cómo sería el código (Listado 6). carazo@gmail. Una vez hecho ésto nos ahorramos el posible problema de que el usuario introduzca una letra en alguno de estos dos campos y el consiguiente manejo de excepciones.widget. Botón cerrar incluido Con este artículo no se ha intentado dar una explicación compleja y completa de todas las posibilidades que nos ofrece Android. Dotando de funcionalidad a nuestro ejemplo Como podéis observar en la toma de pantalla anterior ya tenemos el interfaz diseñado y funcionando sin embargo.EditText y import android. son sólo cuestión de acostumbrarse. Eclipse puede hacer esta labor por nosotros si presionamos: Control + Mayúsculas + O sobre la instanciación del objeto del que no tiene el import oportuno (lo que resulta bastante cómodo la verdad). Lo primero que haremos será obligar a Incluimos un botón Android que no acepte valores que no sean para cerrar la aplicación numéricos en los EditText.com.net. sitio del que es uno de los fundadores. mercado. Podéis ver el resultado en la Figura 10 Conclusiones Figura 9. Para terminar el ejemplo vamos a añadir a nuestra aplicación un botón para cerrarla.com. • Además incluiremos el Listado 9.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->