Sunteți pe pagina 1din 9

01/06/13

Introduccin al desarrollo en Android


Espaol

Temas Tcnicos

Descargas

Ingrese (o Regstrese)

Comunidad

Introduccin al desarrollo en Android


La plataforma de aplicaciones de cdigo abierto
Frank Ableson, Author
Resumen: Android es un entorno operativo completo basado en el kernel Linux V2.6. Inicialmente, el objetivo de implementacin para Android fue el rea de
telfonos mviles, incluso telfonos inteligentes y dispositivos de telfonos con tapa de bajo costo. Sin embargo, el rango completo de servicio de computacin de
Android y el vasto soporte funcional tienen el potencial para extenderse ms all del mercado de telfonos mviles. Android puede ser til para otras plataformas y
aplicaciones. En este artculo obtendr una introduccin a la plataforma Android y aprender cmo codificar una aplicacin bsica para Android.
Fecha: 05-02-2013
Nivel: Introductoria
Actividad: 1513 vistas
Comentario: 0 (Ver | Agregar comentario - Ingrese)
La calificacin promedio de 4 votos (Usted rankeo esto 4 estrellas)
Introduccin
El BlackBerry y el iPhone, que tienen plataformas mviles atractivas y de un gran volumen, estn direccionando los extremos opuestos de un espectro. El
BlackBerry es slido como una piedra para el usuario empresarial. Para un dispositivo de consumidor, resulta difcil competir con el iPhone por la facilidad de uso
y el "factor genial". Android, una plataforma nueva pero que todava no se ha probado, tiene el potencial de funcionar en ambos extremos del espectro del telfono
mvil y tal vez hasta de reducir la gran diferencia entre el trabajo y el juego.
Hoy en da, muchos dispositivos basados en la red o con capacidad para red ejecutan un tipo de kernel Linux. Es una plataforma slida: rentable para desplegar y
soportar, y aceptada inmediatamente como un buen abordaje de diseo para la implementacin. La UI para dichos dispositivos est a menudo basada en HTML
y se puede acceder con un navegador de PC o Mac. Pero no todos los dispositivos necesitan ser controlados por un dispositivo general de computacin.
Considere un dispositivo convencional, como por ejemplo una cocina, un microondas o una mquina panificadora. Qu pasara si los aparatos electrodomsticos
fueran controlados por Android y tuvieran una pantalla tctil a color? Con una UI Android en la parte superior de la cocina, el autor podra incluso cocinar algo.
En este artculo, aprenda sobre la plataforma Android y cmo se puede usar para aplicaciones mviles y no mviles. Instale el Android SDK y desarrolle una
aplicacin simple. Descargue el cdigo de origen para la aplicacin de ejemplo en este artculo.
Una breve historia sobre Android
La plataforma de Android es el producto de la Open Handset Alliance, un grupo de organizaciones que colaboran para desarrollar un telfono mvil mejor. El
grupo, dirigido por Google, incluye operadores de mviles, fabricantes de dispositivos de auricular, fabricantes de componentes, proveedores de plataformas y
soluciones de software y compaas de marketing. Desde una perspectiva de desarrollo de software, Android est perfectamente en el centro del mundo de
cdigo abierto.
El primer auricular con capacidad para Android en el mercado fue el dispositivo G1 fabricado por HTC y suministrado en T-Mobile. El dispositivo estuvo
disponible despus de casi un ao de especulaciones, en donde las nicas herramientas de desarrollo de software disponibles eran algunos SDK releases
mejorados en forma incremental. Como la fecha de lanzamiento del G1 se acercaba, el equipo de Android lanz el SDK V1.0 y comenzaron a aparecer las
aplicaciones para la nueva plataforma.
Para estimular la innovacin, Google patrocin dos series de "Desafos para desarrolladores de Android", en donde se entregaron millones de dlares a las
mejores presentaciones del concurso. Un par de meses despus del G1, se lanz el mercado de Android, que permiti a los usuarios explorar y descargar
aplicaciones directamente a sus telfonos. Despus de aproximadamente 18 meses, una nueva plataforma mvil ingres al rea pblica.
La plataforma de Android
Con la amplitud de las capacidades de Android, sera fcil confundirlo con un sistema operativo de computadora de escritorio. Android es un entorno en capas
que usa de base el kernel Linux e incluye vastas funciones. El subsistema de la UI incluye:
Windows
Vistas
Widgets para mostrar los elementos comunes como los recuadros para editar, las listas y las listas desplegables
Android incluye un navegador integrable basado en WebKit, el mismo motor de navegador de cdigo abierto que alimenta el navegador Mobile Safari de iPhone.
Android cuenta con una abundante variedad de opciones de conectividad, que incluyen Wi-Fi, Bluetooth y datos inalmbricos sobre una conexin de celular (por
ejemplo, GPRS, EDGE y 3G). Una tcnica popular en las aplicaciones Android es unirse a Google Maps para mostrar una direccin directamente dentro de una
aplicacin. El soporte para los servicios basados en la ubicacin (como por ejemplo el GPS) y los acelermetros est disponible tambin en la pila de software de
Android. Tambin existe un soporte para cmara.
www.ibm.com/developerworks/ssa/library/os-android-devel/

1/9

01/06/13

Introduccin al desarrollo en Android

Histricamente, las dos reas en las que las aplicaciones mviles se han esforzado para mantenerse al da con sus homlogos de escritorio son las de
grficos/soporte fsico y mtodos de almacenamiento de datos. Android trata el desafo de los grficos con soporte incorporado para grficos en 2D y 3D,
incluida la biblioteca OpenGL. La carga de almacenamiento de datos se facilita porque la plataforma Android incluye la conocida base de datos de cdigo abierto
SQLite. La Figura 1 muestra una vista simplificada de las capas del software para Android.
Figura 1. Capas del software para Android

Arquitectura de la aplicacin
Como mencionamos, Android se ejecuta encima del kernel Linux. Las aplicaciones Android se encuentran escritas en el lenguaje de programacin Java y se
ejecutan dentro de una mquina virtual (VM). Es importante tener en cuenta que la VM no es una JVM como se podra esperar, pero es la Dalvik Virtual
Machine, una tecnologa de cdigo abierto. Cada aplicacin Android se ejecuta dentro de una instancia de la Dalvik VM, que a su vez permanece dentro de un
proceso gestionado por el kernel Linux, como se muestra a continuacin.
Figura 2. Dalvik VM

Una aplicacin Android que consiste en una o ms de las siguientes clasificaciones:


Actividades
Una aplicacin que tiene una UI visible se implementa con una actividad. Cuando un usuario selecciona una aplicacin desde la pantalla de inicio o el
iniciador de aplicacin, se inicia una actividad.
Servicios
Se debera usar un servicio para cualquier aplicacin que necesite persistir por mucho tiempo, como por ejemplo un supervisor de red o una aplicacin de
comprobacin de actualizacin.
Proveedores de contenido
Es posible considerar los proveedores de contenido como un servidor de base de datos. El trabajo de un proveedor de contenido es gestionar el acceso a
los datos persistentes, como por ejemplo una base de datos SQLite. Si su aplicacin es muy simple, usted no debe crear necesariamente un proveedor de
contenido. Si est desarrollando una aplicacin ms grande o una que ponga a disposicin los datos para mltiples actividades o aplicaciones, un proveedor
de contenido es el medio para acceder a sus datos.
Receptores de difusin
Se puede lanzar una aplicacin Android para procesar un elemento de datos o para responder a un evento, como por ejemplo la recepcin de un mensaje
de texto.
Una aplicacin Android, junto con un archivo llamado AndroidManifest.xml, se despliega para un dispositivo. AndroidManifest.xml contiene la informacin de
configuracin necesaria para instalarlo adecuadamente en el dispositivo. Incluye los nombres de clases requeridos y los tipos de eventos que la aplicacin puede
procesar y los permisos requeridos que la aplicacin necesita para ejecutarse. A modo de ilustracin, si una aplicacin requiere de acceso a la red para
www.ibm.com/developerworks/ssa/library/os-android-devel/

2/9

01/06/13

Introduccin al desarrollo en Android

descargar un archivo, por ejemplo este permiso debe estar mencionado explcitamente en el archivo manifiesto. Muchas aplicaciones pueden tener este permiso
especfico habilitado. Tal seguridad declarativa ayuda a reducir las probabilidades de que una aplicacin maliciosa pueda causar dao en su dispositivo.
La siguiente seccin discute el entorno de desarrollo necesario para desarrollar una aplicacin Android.
Herramientas necesarias
La forma ms fcil para comenzar a desarrollar aplicaciones Android es descargando el Android SDK y el IDE de Eclipse (vea los Recursos). El desarrollo
Android puede realizarse en Microsoft Windows, Mac OS X o Linux.
Este artculo supone que est usando el IDE de Eclipse y el plug-in de Herramientas desarrolladoras de Android para Eclipse. Las aplicaciones Android estn
escritas en el lenguaje Java pero estn compiladas y ejecutadas en la Dalvik VM (no Java Virtual Machine). La codificacin en el lenguaje Java dentro de Eclipse
es muy intuitiva; Eclipse proporciona un vasto entorno Java que incluye ayuda contextual y claves de sugerencia de cdigos. Una vez que se compila su cdigo
Java de manera prolija, las Herramientas desarrolladoras de Android se aseguran de que la aplicacin est empaquetada adecuadamente, incluyendo el archivo
AndroidManifest.xml.
Es posible desarrollar aplicaciones Android sin Eclipse y el plug-in de Herramientas desarrolladoras de Android pero va a necesitar conocer el entorno del
Android SDK.
El Android SDK se distribuye como un archivo comprimido que se desempaqueta en un directorio en su disco duro. Debido a que ha habido varias
actualizaciones SDK, se recomienda que mantenga su entorno de desarrollo bien organizado para que sea posible cambiar fcilmente entre las instalaciones SDK.
El SDK incluye:
android.jar
El archivo de archivos Java que contiene todas las clases Android SDK necesarias para desarrollar su aplicacin.
documention.html y docs directory
La documentacin SDK se proporciona localmente y en la web. Principalmente en la forma de JavaDocs, lo que hace que sea fcil navegar en muchos
paquetes en el SDK. La documentacin tambin incluye una Gua de desarrollo de alto nivel y enlaces para la comunidad Android ms amplia.
Directorio de muestras
El subdirectorio de muestras contiene un cdigo de origen completo para una variedad de aplicaciones, incluyendo a Apidemo, que ejercita muchas API. La
aplicacin de muestra es un excelente lugar para explorar cuando comienza el desarrollo de aplicaciones Android.
Directorio de herramientas
Contiene todas las herramientas de lneas de comando para desarrollar las aplicaciones Android. La herramienta ms comnmente usada y til es la utilidad
adb(Puente de depuracin de Android).
usb_driver
El directorio contiene los controladores necesarios para conectar el entorno de desarrollo a un dispositivo habilitado para Android, como por ejemplo el G1
o el telfono de desarrollo Android Dev 1 desbloqueado. Estos archivos solo son necesarios para los desarrolladores que usan la plataforma Windows.
Las aplicaciones Android se pueden ejecutar en un dispositivo real o en el Emulador de Android, que enva el Android SDK. La Figura 3 muestra la pantalla inicial
del Emulador de Android.
Figura 3. Emulador de Android

www.ibm.com/developerworks/ssa/library/os-android-devel/

3/9

01/06/13

Introduccin al desarrollo en Android

Puente de depuracin de Android


La utilidad adbsoporta varios argumentos opcionales de lneas de comando que brindan funciones eficientes, por ejemplo, copiar archivos al dispositivo y desde
este. El argumento shell de lneas de comando le permite conectarse al telfono mismo y emitir comandos shell rudimentarios. La Figura 4 muestra el comando
shell adbcontra un dispositivo real conectado a una computadora porttil con Windows con un cable USB.
Figura 4. Utilizacin del comando shell adb

Dentro de este entorno, es posible:


Mostrar la configuracin de la red que muestra mltiples conexiones de red. Tenga en cuenta las mltiples conexiones de red:
loes la conexin local o de bucle de retorno.
www.ibm.com/developerworks/ssa/library/os-android-devel/

4/9

01/06/13

Introduccin al desarrollo en Android


tiwlan0es la conexin Wi-Fi con una direccin suministrada por un servidor DHCP local.
Mostrar los contenidos de la variable de entorno PATH.
Ejecutar el comando supara convertirse en el superusuario.
Cambiar el directorio a /data/app, donde se almacenan las aplicaciones de usuario.
Realizar un listado de directorio donde usted ve una sola aplicacin. Los archivos de aplicacin Android son realmente archivos de archivos que se pueden
ver con WinZip o un equivalente. La extensin es apk.
Emitir un comando de sonda de paquetes Internet para ver si Google se encuentra disponible.

Desde este mismo entorno de indicador de comandos, tambin es posible interactuar con bases de datos SQLite, programas de inicio y muchas otras tareas a
nivel del sistema. Esta es una funcin bastante sorprendente, que considera que usted est conectado a un telfono.
En la siguiente seccin, usted crear una aplicacin Android simple.
Codificar una aplicacin bsica
Esta seccin brinda un recorrido tipo torbellino sobre el desarrollo de una aplicacin Android. La aplicacin de ejemplo es casi tan simple como es posible
imaginar: una aplicacin modificada "Hello Android". Aadir una modificacin menor para convertir el color de fondo de la pantalla en blanco para que sea
posible usar el telfono con una linterna. No es muy original pero ser til como ejemplo. Descargue el cdigo de origen completo.
Para crear una aplicacin en Eclipse, seleccione File > New > Android project, que inicia el asistente para el nuevo proyecto Android.
Figura 5. Asistente para nuevo proyecto Android

A continuacin, usted crea una aplicacin simple con una sola actividad, junto con un diseo UI almacenado en main.xml. El diseo contiene un elemento de texto
que modificar para que diga Android FlashLight. El diseo simple se muestra a continuacin.
Listado 1. Diseo de Flashlight
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/all_white">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" android:textColor="@color/all_black"
android:gravity="center_horizontal"/>
</LinearLayout>

Crear un par de recursos a color en strings.xml.


Listado 2. Color en strings.xml
www.ibm.com/developerworks/ssa/library/os-android-devel/

5/9

01/06/13

Introduccin al desarrollo en Android

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


<resources>
<string name="hello">Android FlashLight</string>
<string name="app_name">FlashLight</string>
<color name="all_white">#FFFFFF</color>
<color name="all_black">#000000</color>
</resources>

El diseo de la pgina principal tiene un color de fondo definido como all_white. En el archivo strings.xml, usted ve que all_whiteest definido como un valor
triple RGB de #FFFFFF o todo blanco.
El diseo contiene una sola TextView, que es en realidad slo un texto esttico; que no se puede editar. El texto est configurado en negro y centrado
horizontalmente con el atributo gravity.
La aplicacin tiene un archivo de origen Java llamado FlashLight.java, como se muestra a continuacin.
Listado 3. Flashlight.java
package com.msi.flashlight;
import android.app.Activity;
import android.os.Bundle;
public class FlashLight extends Activity {
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}

El cdigo es un texto estndar directamente desde el asistente de nuevo proyecto:


Forma parte de un paquete Java llamado com.msi.flashlight.
Tiene dos importaciones:
Una para la clase actividad
Una para la clase paquete
Cuando se inicia esta actividad, se invoca el mtodo onCreate, se pasa como un savedInstanceState. No se preocupe por este paquete para cuatro
propsitos, se usa cuando una actividad se suspende y luego se reanuda.
El mtodo onCreatees una alteracin temporal del mtodo de clase de actividad del mismo nombre. Llama al mtodo onCreatede superclase.
Una llamada a setContentView()asocia el diseo UI definido en el archivo main.xml. Cualquier cosa en main.xml y strings.xml se correlaciona
automticamente en constantes definidas en el archivo de origen R.java. Nunca edite este archivo directamente ya que se cambia sobre cada desarrollo.
Al ejecutar la aplicacin se presenta una pantalla blanca con texto negro.
Figura 6. Pantalla blanca de linterna

www.ibm.com/developerworks/ssa/library/os-android-devel/

6/9

01/06/13

Introduccin al desarrollo en Android

El archivo AndroidManifest.xml configurado para la aplicacin FlashLight se muestra a continuacin.


Listado 4. AndroidManifest.xml para FlashLight
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.msi.flashlight"
android:versionCode="1"
android:versionName="1.0.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".FlashLight"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

Este archivo fue creado automticamente por el plug-in de Herramientas desarrolladoras de Android para Eclipse. No tuvo que hacer nada.
Por supuesto, la aplicacin no es absolutamente magnfica. Pero podra llegar a ser prctica si desea leer un poco sin perturbar a su esposa mientras duerme o si
es necesario encontrar la caja de fusibles en el stano durante un corte de electricidad.
Resumen
En este artculo, usted aprendi sobre Android a un muy alto nivel y construy una pequea aplicacin. Con suerte, el ejemplo lo entusiasm lo suficiente como
para explorar ms sobre la plataforma Android. Android promete ser una plataforma de cdigo abierto movilizadora de mercado que ser til mucho ms all de
los telfonos celulares.

www.ibm.com/developerworks/ssa/library/os-android-devel/

7/9

01/06/13

Introduccin al desarrollo en Android

Descargar
Descripcin
FlashLight source code

Nombre
os-android-devel-FlashLight.zip

tamao
22KB

Metodo de descarga
HTTP

Informacin sobre mtodos de descarga

Recursos
Aprender
Open Handset Alliance es un grupo de 47 compaas de tecnologa y mviles, que se uni para acelerar la innovacin en mviles y ofrecer a los
consumidores una experiencia con mviles mejor, ms rica y menos costosa. Juntos, han desarrollado a Android, la primera plataforma mvil completa,
abierta y gratuita.
El sitio de desarrolladores de Android ofrece documentacin, descargas, blogs y ms.
Aprenda ms acerca de la Dalvik Virtual Machine.
Revise los tutoriales que se encuentran en YouTube y que discuten las internas de la Dalvik VM.
Unlocking Android: A Developer's Guide brinda instrucciones concisas y prcticas para la herramientas desarrolladoras y el sistema operativo Android.
Para escuchar entrevistas interesantes y discusiones para los desarrolladores de software, pruebe developerWorks podcasts.
Mantngase actualizado con Technical events and webcasts de developerWorks.
Siga a developerWorks en Twitter.
Consulte las prximas conferencias, los shows comerciales, los webcasts y otros Eventos de todo el mundo que son de inters para los desarrolladores de
cdigo abierto de IBM.
Visite la Open source zone de developerWorks para obtener informacin exhaustiva sobre instrucciones, herramientas y de proyectos para ayudarlo a
desarrollarse con las tecnologas de cdigos abiertos y a utilizarlos con los productos de IBM.
Vea y aprenda acerca de funciones de productos y tecnologas IBM y de cdigo abierto con el developerWorks On demand demos gratuitos.
Obtener los productos y tecnologas
Descargar Android SDK.
Obtenga el ltimo IDE de Eclipse.
Innove en su prximo proyecto de desarrollo con el software de prueba IBM, disponible para descargarlo o en DVD.
Descargue versiones de evaluacin de productos IBM o explore las versiones de prueba online en el IBM SOA Sandbox y obtenga herramientas de
desarrollo de aplicaciones y productos middleware DB2, Lotus, Rational, Tivoli y WebSphere.
Comentar
Participe en los blogs de dedeveloperWorks y nase a la comunidad de developerWorks.
Sobre el autor
Despus de que terminara su carrera basquetbolista colegial sin un contrato multianual para jugar para los Lakers de Los ngeles, Frank Ableson cambi su
enfoque hacia el diseo de software informtico. Disfruta solucionando problemas complejos, particularmente en las reas de comunicaciones e interfaces de
hardware. Cuando no est trabajando, est pasando el tiempo con su esposa Nikki y sus hijos. Es posible contactar a Frank escribiendo a
frank@cfgsolutions.com.
Cerrar [x]

developerWorks: Ingresar
IBM ID:
Necesita un IBM ID?
Olvid su IBM ID?
Password:
www.ibm.com/developerworks/ssa/library/os-android-devel/

8/9

01/06/13

Introduccin al desarrollo en Android

Olvid su Password?
Cambie su Password
Recordarme.
Al hacer clic en Enviar, usted est de acuerdo con los trminos y condiciones de developerWorks.
Enviar

Cancelar

La primera vez que inicie sesin en developerWorks, se crear un perfil para usted. Cierta informacin de su perfil ser mostrada pblicamente, pero
usted puede editar la informacin en cualquier momento. Su nombre, apellido (a menos que usted elija ocultarlo), y nombre de usuario acompaarn el
contenido que usted publica.
Toda la informacin enviada es segura.
Cerrar [x]

Elija su nombre de usuario


La primera vez que inicie sesin en developerWorks, se crear un perfil para usted. Cierta informacin de su perfil de developerWorks ser mostrada
pblicamente, pero usted puede editar la informacin en cualquier momento. Su nombre, apellido (a menos que usted elija ocultarlo) y nombre de usuario
acompaarn el contenido que usted publique.
Nombre de usuario:

(Debe ser entre 3 31 caracteres.)

Al hacer clic en Enviar, usted est de acuerdo con los trminos y condiciones de developerWorks.
Enviar

Cancelar

Toda la informacin enviada es segura.


La calificacin promedio de 4 votos (Usted rankeo esto 4 estrellas)
Agregar comentario :
Ingrese o regstrese para publicar un comentario.
Nota: los elementos en HTML no son soportados dentro de los comentarios.

Notificarme cuando se aada un comentarioquedan 1000 caracteres

Postear

No hay comentarios en este artculo


Imprimir esta pgina

Compartir esta pgina

Seguir developerWorks

Acerca de

Informar abusos

Privacidad (Ingls)

Contacto

Trminos de uso

Accesibilidad (Ingls)

www.ibm.com/developerworks/ssa/library/os-android-devel/

9/9

S-ar putea să vă placă și