Вы находитесь на странице: 1из 24

27/6/2014

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

Inicio
Licencia CLH
Quienes Somos
Colabora
Peticiones
Publicidad
Contacto
Comida
Computacion
Diseo Web
Electronica
Finanzas
Juguetes
Manualidades
Tecnologia

Cmo programar apps para Android #1: Descarga,


instalacin y primera app
Publicado por Xabadu en Android, Programacion el 09 agosto 2013 | 33 Comentarios

Curso Programacion
Java
capacityacademy.com/Curso-de-Java

Online, Videos, Foros, Profesor. Por Slo


US$198 Inscrbete Ahora!

http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

1/24

27/6/2014

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

Oh yeas!, lo prometido es deuda (aunque no tenemos precisamente claro a quin se lo prometimos ni menos a quien se lo
debemos), y hoy damos el primer paso en una nueva saga de CLH, en la cual les ensearemos todo el proceso necesario para crear
aplicaciones para Android desde cero. Hoy, especficamente, veremos como descargar el SDK de Android, instalarlo, la estructura de
los proyectos e incluso haremos nuestra primera app.
Bastante nos espera, as que no perdamos ms tiempo y acompanos despus del salto.

Cmo programar apps para Android #1: Descarga,


instalacin y primera app
Registrarse En Facebook
facebook.com

El Ms Grande Comunidad en Lnea Crea


un perfil hoy y disfruta!

Antes de comenzar, es bueno aclarar un par de cosas:

I.- Cmo se estructurar esta saga?


A diferencia de otras sagas de programacin que hemos hecho en el pasado,
en las cuales veamos varios contenidos tericos y finalmente un ejercicio, en
esta el enfoque ser netamente prctico, ya que creemos que la mejor forma
de aprender a crear apps es "metiendo mano" y programando, probando
cdigo y features, intentando hacer cosas. De todas maneras no se
preocupen, dentro de cada nmero, y como es nuestra costumbre,
intentaremos explicar de la mejor manera posible cada punto, para que as
cada cosa que hagamos quede lo ms clara posible.

II.- Es necesario saber programar? En qu


lenguaje?
http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

2/24

27/6/2014

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

Si, es necesario saber programar para poder seguir esta saga, aunque no a nivel avanzado ni experto. Si es ideal haber escrito cdigo
antes para poder tener mejores referencias de lo que haremos y poder entender todo con mayor facilidad. De todas maneras, como
mencionamos en el punto anterior, intentaremos hacer las explicaciones lo ms claras posibles, para que as quienes no han programado
y lean estos artculos, puedan hasta cierto punto entender lo que estamos haciendo e incluso motivarse a entrar de lleno.
En cuanto a lenguajes, lo ideal es haber programado anteriormente en Java, el lenguaje en el que desarrollan las aplicaciones nativas de
Android. No obstante, si nunca han escrito cdigo en este lenguaje, pero tienen conocimientos en otros orientados a objetos, es
probable que puedan relacionar bien los contenidos y tener las nociones necesarias para partir desde ah.

III.- Momento, aplicaciones nativas?!


Si, esta saga cubrir el desarrollo de aplicaciones para Android de forma nativa. Actualmente hay una serie de aplicaciones y
frameworks que permiten crear aplicaciones mviles multiplataforma (Android, iOS, Blackberry, Windows Phone, etc.) utilizando
una sola tecnologa de desarrollo (habitualmente Javascript o algn otro lenguaje). En este caso no las cubriremos, pero si son una
alternativa a tener en cuenta, considerando las ventajas y desventajas que presenta cada una de ellas.

IV.- Es esta la gua definitiva para crear apps en Android?


No, nones, not, Oh noes!, negativo, negatorio. Como hemos intentado decirles siempre, en CLH no somos expertos ni nos
consideramos gurs en nada, especialmente en programacin. Solo intentaremos llevarles una saga paso a paso basada en nuestra
experiencia de aprendizaje de desarrollo de apps mviles. Muchos de los casos presentados ac sern en base a mi experiencia y en
base a los escenarios y alternativas que me ha tocado enfrentar. En mi caso particular, part desarrollando hace no mucho tiempo, por lo
que hay bastante de lo que presentaremos ac que iremos descubriendo en conjunto. Por ello, si en cualquier momento detectan un
error o alguna alternativa mejor para llevar a cabo algo, no duden en avisar ;)
Ya, nada ms, partamos!

1.- Descarga del SDK


Bien, ha llegado el momento de dar el puntapi inicial a este largo camino. A descargar e instalar.
Afortunadamente, la descarga e instalacin del SDK (Standard Development Kit) de Android es bastante sencilla, especialmente
cuando comparamos con otras plataformas, bsicamente porque viene todo en un bundle listo para bajar y utilizar.
Para partir, vamos a http://developers.android.com y vern en los textos de la parte inferior, un vnculo que dice "Get the SDK".
Hacemos click ah para descargar:

http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

3/24

27/6/2014

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

Luego de ello, nos llevar a la pantalla de descargas, en donde automticamente reconocer nuestro Sistema operativo y nos ofrecer el
bundle correspondiente a nuestra plataforma:

Y al hacer click ah, nos llevar a los Trminos y Condiciones, los cuales debemos aceptar para iniciar la descarga:

http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

4/24

27/6/2014

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

Al aceptar los trminos y presionar el botn "Download the SDK ADT Bundle for (tu S.O)", se iniciar la descarga de un archivo
.zip de aproximadamente 400mb, el cual contiene todo lo necesario para empezar a desarrollar, es decir:
El IDE para desarrollar (en este caso Eclipse)
El SDK que contiene todas las herramientas y clases necesarias para poder crear las apps.
Adems, nos llevar a la siguiente pantalla de confirmacin:

2.- Instalacin
http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

5/24

27/6/2014

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

La instalacin del SDK de Android es bastante sencilla, ya que para empezar a desarrollar, solo debemos descomprimir el archivo que
acabamos de descargar y estamos listos. As que doble click y descompriman el contenido en la ubicacin que ms les acomode (su
directorio personal es un buen lugar) y tendrn un directorio ah de nombre parecido a "adt-bundle-su sistema-x86_64", el cual a
su vez contendr 2 directorios ms: "eclipse" y "sdk"
El directorio "eclipse", contiene el IDE (y sus respectivos archivos), con el que desarrollemos. Desde las primeras versiones de
Android, ha venido integrado a este IDE, por su facilidad e integracin para trabajar con Java. Si bien recientemente Google anunci el
lanzamiento de Android Studio, el cual utiliza otro IDE para desarrollar, se encuentra an en fases preliminares, por lo que la gran
mayora de los desarrolladores utiliza Eclipse, que es con el que trabajaremos en esta saga. Es bastante sencillo porque adems el SDK
viene directamente integrado por lo que es llegar y empezar a trabajar.
Adems es factible instalar el SDK en otros IDE's por si Eclipse no es su preferido. Ac hay indicaciones bastante detalladas de como
realizar esta tarea.
Importante: Si bien el archivo descargado pueden descomprimirlo y ubicarlo en cualquier parte de su equipo, es muy importante no
mover los directorios ni archivos que estn en su interior, ya que para futuras actualizaciones se requiere respetar esa estructura
para poder ubicar las preferencias del SDK y modificarlas de ser necesario.
En prximos nmeros, a medida que vayamos desarrollando y probando nuevos features, requeriremos de distintas utilidades que
deberemos incorporar al SDK. Esto lo haremos con una utilidad llamada SDK Manager, el cual veremos ms adelante en detalle, que
adems nos permite actualizar la versin de Android con la que estaremos trabajando.
Ahora, si vamos a nuestro directorio que acabamos de descomprimir, y ah a eclipse/eclipse.app o eclipse.exe dependiendo de la
plataforma, ejecutaremos el IDE y nos pedir definir una ruta para nuestro espacio de trabajo. En este directorio que definamos se
crearn y guardarn automticamente todos los proyectos que creemos en eclipse. Pueden elegir la ruta que quieran y/o la que ms les
acomode. En nuestro caso, dejamos todo en un mismo directorio, el bundle de Android Development Tools y el espacio de trabajo, por
lo que queda una estructura similar a esta:
Android
adt-bundle
workspace
Y al abrir Eclipse, podrn ver algo como esto, dependiendo de su versin y plataforma:

Y con esto, ahora


empezaremos a trabajar.

3.- La primera app


http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

6/24

27/6/2014

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

Luego de descargar e instalar, que mejor que meternos de lleno a hacer nuestra primera app, mediante la cual podremos entender como
se estructuran los proyectos en Android para futuras referencias.
Lo que haremos, ser crear una aplicacin bastante sencilla, la cual contendr una sola pantalla y en la que mostraremos un mensaje,
nada ms. Ya ms adelante iremos incorporando otros elementos a esta app para hacerla un poco ms completa.
Para comenzar, iremos al primer cono del lado izquierdo, el cual lanzar el New Project Wizard, o asistente de nuevos
proyectos (tambin podemos acceder a el mediante File > New o Archivo > Nuevo), y en la ventana que se abrir,
seleccionaremos Android Application Project:

Al hacer click en Siguiente, llegaremos a la pantalla de configuracin inicial de la nueva aplicacin, en la que veremos algo como esto:

http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

7/24

27/6/2014

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

Qu significa cada uno de esos campos?, pues bien, vemoslo en detalle:


Application Name: Como su nombre lo indica, es el nombre de nuestra app. Es el que el usuario ver cuando la descargue y la
instale en su dispositivo, y el que aparecer bajo el cono una vez instalada, as como la tienda de Google Play y en el listado de
apps en las opciones del dispositivo.
Project Name: Al igual que el caso interior, su nombre indica claramente que trata del nombre del proyecto. A diferencia eso si
del application name, es solo el nombre bajo el cual se guardar el proyecto en el espacio de trabajo de Eclipse (se crear un
directorio con ese nombre para guardar todos los subdirectorios y archivos del proyecto), y es de uso interno. Debe ser
nico, aunque si hay otro utilizando este nombre y lo eliminamos, quedar disponible para utilizar. Por lo general se acostumbra
utilizar el mismo nombre que se usa para el Application Name.
Package Name: Es un identificador nico de la aplicacin. Si bien es de uso interno y privado (los usuarios nunca lo
conocern), es importante recalcar que una vez definido no puede ser cambiado mientras la aplicacin exista. Mantener el
mismo package name es la nica forma de mantener coherencia entre las distintas versiones de la app (as como con las firmas,
algo que veremos ms adelante). Si en un momento dado decidimos cambiar este package name, y subimos una nueva versin
a Google Play o algn otro mtodo de distribucin, y el usuario intenta instalar este APK, no actualizar la app, si no que instalar
una nueva instancia y se generar un duplicado, ya que para el sistema son 2 aplicaciones distintas. Lo que se usa para nombrar
los package names comunmente es el nombre o dominio de la organizacin responsable de la app al revs y un nombre nico,
que por lo general es el nombre de la aplicacin. Algo as:
dominio.organizacion.app
Por ejemplo, si en CLH decidiramos hacer una app llamada "Chistosidades", un nombre de paquete apropiado sera:
cl.comolohago.chistosidades

Por qu la estructura de puntos?


http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

8/24

27/6/2014

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

El package name se define en esa estructura debido a que as son los nombres de paquetes vlidos en Java, y por ende
para este caso, debe tener una estructura igual.
Nota: Si bien al crear la app es necesario definir un Package Name, una app puede contar con mltiples paquetes dentro de si, siendo
el definido inicialmente el principal. Muchos desarrolladores por orden prefieren crear varios paquetes para agrupar clases similares y
as mantener una estructura ms limpia dentro del proyecto. Veremos ms sobre esto un poco ms adelante.
Adicionalmente, se nos pide seleccionar 4 valores (aunque viene ya una opcin seleccionada por defecto en cada uno de ellos):
Minimum Required SDK: La versin mnima de Android que nuestra app soportar. Incluir versiones ms antiguas por lo
general asegurar que habrn ms dispositivos que podrn hacer uso de la app, pero por otro lado tambin implica que existe la
posibilidad de que algunas funcionalidades que implementemos no estn disponibles para esas versiones. Este es un punto
importante de estudio al momento de comenzar un proyecto, para ver que es ms importante, si sacrificar una funcionalidad o
apuntar a una cantidad de pblico ms exclusiva.

Target SDK: Al contrario de lo anterior, esta opcin representa la versin ms reciente de Android sobre la cual hay certeza
que esta app correr sin problemas. Por lo general se suele apuntar a la ms reciente que viene incluida en el SDK, aunque
tambin depender del pblico objetivo de la app.

Compile With: Es la versin de Android sobre la cual compilar Eclipse todo el cdigo que escribamos y ejecutables que
creemos. Lo recomendable ac es elegir la misma versin seleccionada en Target SDK, para poder asegurar compatibilidad.

Theme: Es la plantilla base que utilizar nuestra aplicacin. Esta plantilla le dar estilos a todos los elementos grficos nativos de
la app (barra superior de accin, botones, checkboxes, radio buttons, barras de progreso, etc.). Las versiones ms recientes
de Android incluyen 3 plantillas por defecto: Holo Dark, Holo Light y Holo Light with Dark Action Bar. Para ms informacin y
muestras visuales de las plantillas, pueden referirse a este enlace de la documentacin oficial de Android.

Por qu desarrollar para versiones ms antiguas?


Si bien la tentacin de solo desarrollar para versiones recientes de Android (sobre 4.0) es alta, debido a nuevos features y
estilos visuales avanzados que se han ido integrando, incorporar soporte para versiones ms antiguas es clave, debido a
una situacin existente en el mercado de Android desde hace un tiempo, llamada Fragmentacin.
La fragmentacin se refiere a las variaciones existentes hoy con respecto a los dispositivos con Android, tanto a nivel de
hardware, como de software. Al ser un Sistema Operativo libre, muchas empresas productoras de hardware han decidido
utilizarlo como sistema para sus dispositivos, y en base a ello han modificado y creado versiones propias para incluir en
telfonos y tablets, por lo que hoy hay features que pueden estar presentes en un dispositivo Samsung con Android (como
por ejemplo TouchWiz) y no en un dispositivo HTC, que incluso podra tener la misma versin (a nivel de nmeros),
pero con features distintos.
Adicionalmente, hasta hace un tiempo, el canal de actualizacin de las versiones del sistema operativo muchas veces era a
travs de los operadores, por lo que si bien en el mercado se poda lanzar una nueva versin de Android, esta poda no
alcanzar a todos los usuarios en un tiempo considerable. El mejor ejemplo a tener en cuenta es que si bien hoy la versin
actual de Android es la 4.3, hay una gran cantidad de dispositivos que an estn corriendo versiones 2.3 (40% hasta hace
poco), 2.2 e incluso 2.1, por lo que pensar en desarrollar solo para versiones nuevas puede excluir a una gran parte de
usuarios de Android, y por ende estaramos directamente perjudicando la popularidad de la app.
Este escenario es completamente diferente en iOS, donde al existir una arquitectura centralizada de actualizacin, hay una
certeza que sobre el 90% de los usuarios hoy tiene la versin ms reciente del S.O (o al menos en el rango) por sobre un
porcentaje bastante menor en Android.

http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

9/24

27/6/2014

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

Afortunadamente, hace algn tiempo ya se vienen tomando medidas para esto. El lanzamiento de los servicios de Google
Play ha permitido crear esta arquitectura de actualizacin directa, por lo que es factible que el problema de
fragmentacin (al menos en trminos de versiones de S.O.) vaya disminuyendo con el pasar del tiempo.
Pero para eso falta, as que por ahora, a pensar en todos los casos.
Puedes bien, con eso claro, llenaremos los datos de la siguiente forma (sintanse libres de llenarlos como uds. quieran):

Al hacer click en Siguiente, nos encontraremos con la siguiente ventana:

http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

10/24

27/6/2014

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

Las opciones que vienen marcadas por defecto en esta ventana representan lo siguiente:
Create custom launcher icon: Al tener marcada esta opcin, se crear un cono para la app. Este es el cono que aparecer
tanto en Google Play como en el dispositivo del usuario al instalar.
Create activity: Al marcar ac, se crear automticamente una actividad para comenzar a trabajar. Veremos en detalle un poco
ms adelante que lo que es una actividad.
Create Project in Workspace: Al marcar aqu, se crear un directorio para el proyecto dentro del directorio de nuestro
espacio de trabajo (el que definimos inicialmente). El nombre de este directorio ser el que definimos en Project Name en la
ventana anterior.
Las otras opciones no las veremos por ahora. Hacemos click en siguiente, y veremos la siguiente ventana:

http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

11/24

27/6/2014

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

Esta ventana nos permite definir una imagen y ajustarla para ser utilizada como cono de la app. Es importante recalcar que el
cono puede ser modificado posteriormente, por lo que normalmente saltarn esta configuracin, ya que son pocos los casos en los
que tendrn definido un cono al momento de empezar a trabajar en una app.
Entre las opciones que se nos entregan esta el definir la imagen a usar (o texto si as lo deseamos), darle padding o espacio al cono, la
forma (crculo, cuadrado o forma natural de la imagen), el color de fondo y podemos ver una vista previa de como ser visualizado
en distintas resoluciones (mdpi, hdpi, xhdpi, xxhdpi, detallaremos las resoluciones ms adelante).
Para este caso, como no definiremos un cono, hacemos click en Siguiente y veremos:

http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

12/24

27/6/2014

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

En esta ventana se nos preguntar si crear una actividad y de que tipo. Y como ya no puedo seguir excusando ni demorando la
explicacin, proceder a abrir Wikipedia detallar exactamente que es una Actividad o Activity en Android.

Qu es una Actividad o Activity en Android?


Para entender que es una "Activity" en Android, es bueno mirarla desde 2 aspectos: Uno conceptual y uno tcnico.
Conceptualmente, se le llama "Activity" en Android a lo que est ocurriendo en la pantalla del dispositivo en un determinado momento
del ciclo de vida de la aplicacin (desde que se lanza hasta que se cierra).
Tecnicamente, una "Activity" es una clase en Java que hereda desde la clase Activity de Android y ayuda a definir el comportamiento
de una aplicacin en distintas instancias. Al heredar desde la clase Activity, es posible manejar el ciclo de vida de la app y definir
mediante cdigo como queremos que se comporte en cada una de esas instancias (veremos esto en detalle en el prximo nmero).
Adicionalmente, nos permite codificar distintas acciones que sern ejecutadas por la aplicacin en ese momento, cargar
vistas (representacin visual en pantalla de elementos grficos como botones, formularios y otros), interactuar de forma interna
con el dispositivo y mucho ms.
Basicamente, una aplicacin est compuesta de muchas actividades (clases) que interactuan entre si cada vez que el usuario realiza una
accin. Un ejemplo cercano para entender este concepto, especialmente si han hecho desarrollo Web, es pensar en una actividad
como "las pginas de un sitio". Concepto cercano.. quizs no acertado, pero cercano.
Si bien hay un ciclo de vida definido en cada actividad (desde que se inicia hasta que se cierra), en una actividad es posible crear una
infinidad de mtodos personalizados para el cdigo de nuestra aplicacin y tambin es factible cargar todas las vistas que queramos
dentro de ella (aunque no al mismo tiempo). A pesar de eso, por lo general lo que se hace es una relacin 1 a 1 entre una actividad y
una vista para mantener un mejor orden (a excepcin de cuando realmente no se justifica crear una actividad para una vista y es
mejor agruparla en otra).
Si el concepto es complejo de entender, no se preocupen. A medida que vayamos desarrollando algunos ejemplos se comprender con
http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

13/24

27/6/2014

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

mayor facilidad.
Con eso claro, marcamos en la ventana que si queremos crear una actividad, y seleccionamos Blank Activity (veremos los otros
tipos en futuras ediciones), ya que queremos una actividad con lo menos posible para empezar a trabajar (los otros tipos incluyen
algo de cdigo de ejemplo para orientarnos). Le damos a Siguiente y veremos:

En esta ventana definiremos 3 cosas:


1. Activity Name: Ser el nombre de la clase que representa la actividad. Puede ser cualquier nombre (mientras respete las
convenciones de nombramiento de clases en Java, o sea, sin smbolos extraos) aunque en algunos casos se usa agregar
despus del nombre la palabra Activity para mayor orden (por ej. si es una actividad de bsqueda, se nombra Search o
SearchActivity). Ese mismo nombre tomar el archivo .java que representa a la actividad dentro del paquete de la aplicacin. El
nombre de la actividad debe ser nico dentro del paquete de la aplicacin.
2. Layout Name: Ser el nombre de la vista asociada a la actividad. Esta vista es un archivo XML en donde se realiza la ubicacin
y representacin grfica de los elementos que mostraremos en pantalla (veremos esto en detalle en el prximo nmero).
Recuerden que como indicamos inicialmente, esta es solo una vista asociada a la actividad. Eventualmente podramos tener todas
las que queramos.
3. Navigation Type: Dentro de esta lista, podemos seleccionar si queremos integrar algn tipo de navegacin a la actividad. Por
ahora seleccionamos None, ya que queremos ver cada tipo en detalle ms adelante, porque es algo que debemos ver con
atencin.
Con eso listo, terminamos el asistente y hacemos click en Finish, con lo que veremos que en Eclipse se abrir una pantalla en el editor,
que representa a la vista asociada a la actividad que acabamos de crear, en la cual habr un texto de ejemplo "Hello World":

http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

14/24

27/6/2014

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

Adems, podremos ver que al lado izquierdo se ha agregado el proyecto que acabamos de crear, el cual al ser ampliado (click en la
flechita del lado izquierdo), desplegar una estructura de directorios y archivos de esta forma:

Esta estructura contiene directorios, entre los que por ahora destacaremos:
src: En este directorio se incluyen todos los paquetes y clases (entre ellas las actividades) de la aplicacin. Como su nombre lo
indica, es el cdigo fuente (source) del proyecto.
gen: Aqu se incluyen las clases generadas automticamente por Eclipse para el proyecto, en base al cdigo que creamos y los
http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

15/24

27/6/2014

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

recursos que incluimos. Entre estas clases, se incluye el famoso R.java, una clase generada automticamente que incluye las
referencias a las reas de memoria de cada recurso de la aplicacin y genera identificadores que pueden ser llamados desde la
aplicacin para no referirse a estos recursos de forma directa (veremos ms sobre esto en un prximo nmero).
assets: En este directorio se incluirn recursos grficos para ser utilizados en la app, los cuales no sern indexados y se
referenciarn directamente (por ruta) en tiempo real. Un buen ejemplo es aadir ac tipografas que queremos utilizar en la
aplicacin. La diferencia con los otros recursos se entender mejor a medida que vayamos desarrollando.
libs: Ac se incluyen libreras externas (en formato jar) que utilizaremos en nuestras apps.
res: Y aqu se incluirn todos los recursos grficos que si sern referenciados mediante identificadores (definidos en el
R.java) en la app. Elementos como imgenes, colores, dimensiones y estilos irn ac.
Adicionalmente hay un elemento ms a destacar que es el AndroidManifest.xml. Este archivo incluye toda la informacin de
configuracin de la app. Entre esta info:
Actividades de la app (marcando cual es la que se lanza al iniciar la app)
Permisos solicitados por la app
Versiones de Android soportadas
Versin
cono y nombre de la app
Estilo
Y algunos otros valores que iremos viendo a medida que avancemos. Bien, antes de empezar a programar nuestra primera app, falta un
solo elemento para ver: los emuladores.

Emuladores
Para poder probar las apps que creemos, tenemos 2 posibilidades: Probar en un dispositivo fsico y probar en un emulador. La ventaja
de disponer con emuladores es que por lo general es difcil contar con distintos tipos de dispositivos para saber como la app se ver en
diferentes resoluciones, una posibilidad que los emuladores nos dan. Si bien la representacin no es al 100%, es muy pero muy cercana
a la realidad, aunque en trminos de velocidad un poco ms lento, ya que comparte recursos con nuestro equipo. Por eso es bueno
tener en cuenta que si una app les funciona un poco lento en el emulador, en el dispositivo por lo general funcionar ms rpido.
Crear un emulador en Android es muy sencillo, mediante la herramienta Android Virtual Device Manager (el 6to cono de izquierda
a derecha o bien el men Window > Android Virtual Device Manager):

http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

16/24

27/6/2014

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

Ah hacemos click en New y veremos el asistente para crear un nuevo emulador:

Entre los datos que debemos llenar ac:


AVD Name: Un nombre para identificar el emulador. Debe ser nico entre todos los que creemos.
Device: Que tipo de dispositivo representar el emulador. Para este caso podemos elegir por ejemplo 3.2" HVGA Slider
(ADPI1) (320x480:mdpi), aunque en realidad cualquiera por ahora sirve. Solo tener en cuenta que a mayor resolucin, mayor
espacio ocupar en pantalla el emulador, as que para comenzar una resolucin as o un 480x800 es bastante cmodo.
Target: La versin de Android que tendr el emulador. Lo ideal es parear con la que seleccionamos para el proyecto.
Front y Back Camera: Si el dispositivo tendr cmara, y si la emular o tomar imgenes desde la Webcam del dispositivo (si
es que hay alguna).
Internal Storage: La capacidad del dispositivo en memoria interna.
SD Card: La capacidad del dispositivo en memoria externa.
Hay otros que por ahora no veremos, para revisarlos en mejor detalle. Y ahora si, despus de todo esto, vamos a codificar.
Primero
abriremos
la
actividad
para
revisar
su
contenido,
en src/cl.comolohago.chistosidades/MainActivity.java y veremos algo como esto:
texto plano

01.
02.
03.
04.
05.
06.

c opiar c odigo

imprimir

haciendo

doble

click

package cl.comolohago.chistosidades;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

17/24

27/6/2014
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}

Como podemos ver, la actividad viene con 2 mtodos declarados por defecto: onCreate y onCreateOptionsMenu. El primero es el
mtodo que se ejecutar automticamente al iniciar esta actividad (que a su vez es la actividad por defecto que se ejecutar al
iniciar la app). El segundo corresponde al men de opciones de la actividad, que por ahora ignoraremos para verlo en ms detalle
posteriormente.
El mtodo onCreate tiene 2 lineas de cdigo que analizaremos a continuacin. La primera,
super.onCreate(savedInstanceState)

Lo que hace es llamar a la clase de la que hereda, pasndole como parmetro el estado actual de la app. Esta lnea siempre estar
presente y vendr includa por defecto, as que no ser necesario modificarla.
A continuacin, viene la lnea:
setContentView(R.layout.activity_main)

La cual se encarga de definir la vista que ser cargada al momento de iniciar la actividad. Esto se hace mediante el
mtodo setContentView, al cual se le pasa como parmetro el identificador de la vista y le entregamos una referencia de la clase R (tal
como lo vimos unas lneas atrs). Este identificador llama primero a la clase (R), luego al tipo de recurso (layout) que representa a la
vista (las cuales como archivos siempre quedan almacenadas en res/layout) y finalmente el nombre de la vista (activity_main) sin
la extensin xml.
Teniendo esto en cuenta, al ejecutar esta app, nuestra primera aplicacin, se va a cargar la vista correspondiente a activity_main.xml y
nos va a mostrar el texto que vimos hace un par de imgenes atrs. As que para eso hacemos click derecho en el proyecto (en el lado
izquierdo, en el explorador de archivos) y vamos a Run as > Android Application. Si nos pide elegir emulador, seleccionamos el
que creamos recin, y si no, esperamos a que el emulador por defecto se abra y nos muestre la app (si se demora en iniciar,
paciencia, el emulador de Android tiende a ser as), o si por alguna razn no carga el emulador, vamos primero a Run as > Run
configurations y seleccionamos la segunda pestaa del lado derecho "Target", en la cual aparecer un listado de todos los
emuladores que tengamos y seleccionamos una de las tres opciones, segn lo que ms nos acomode:
1. Always prompt to pick device: Que siempre nos pregunte en que emulador lanzar.
2. Launch all compatible devices/AVD: Que la app se lance simultneamente en todos los emuladores y dispositivos
compatibles.
3. Automatically pick compatible device: Que automticamente seleccione un emulador o dispositivo compatible.
Por lo general, como uno tiene a disponer de varios emuladores, y prefiere probar en uno por defecto, lo mejor es seleccionar la
primera opcin, y que nos pregunte al momento de lanzar en cual queremos. Con eso, lanzamos la app y veremos algo as:

http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

18/24

27/6/2014

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

19/24

27/6/2014

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

Y as de simple tenemos ya en el
emulador nuestra primera app :D
De a poco y en cada nmero, iremos agregando elementos y la haremos evolucionar hasta ser una app completa con todas las ideas
que se nos vayan.
Por ahora lo dejaremos hasta ac, para poder asimilar toda la informacin que acabamos de ver. En el prximo nmero iremos viendo
otros conceptos (incluyendo algunos que dejamos pendientes ac).
Como siempre, les recordamos que este tutorial ha sido desarrollado y documentado por el equipo de CLH, por lo que cuenta con
nuestro Sello de Garanta:

Cualquier duda o consulta que puedan tener, los invitamos a dejar un comentario en el rea habilitada a continuacin.
Esperamos que este tutorial haya sido de utilidad para Uds. y que nos acompaen durante el resto de la saga.
http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

20/24

27/6/2014

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

Hasta la prxima!

Tweet

Escrito por Xabadu


Las tardes gloriosas de domingo y las grandes ovaciones a estadio lleno, no son algo extrao para Xabadu. Luego de ser descubierto a
los 4 aos en un partido de barrio por los ojeadores del gran Aviacin F.C., sacudi el mercado nacional al ser traspasado en $500
pesos chilenos (1 USD) y 3 coca colas al renombrado Estrella Blanca de Lolol. Luego de una impresionante carrera por equipos como
Lozapenco, Santa Cruz, Deportivo Lago Chungar y una incursin en la 3a divisin del futbol de Kazajstan, su record imbatible hasta la
fecha de 1257 goles en 20 partidos lo llevo a ser elegido como uno de los arqueros ms recordados en la historia pelotera nacional.
Una lesin en el colmillo superior derecho lo llev al retiro el ao 2003, pero est de vuelta y sin duda que su jerarqua y experiencia
internacional ser un gran aporte.

33 Comentarios a Cmo programar apps para Android #1: Descarga, instalacin y primera app

1.

Waldo dice:
10 agosto 2013 a las 0:37
Excelente tutorial. Quedo a la espera del siguiente!

2.

gonzalo dice:
19 agosto 2013 a las 16:15
Que buena, esperare los siguientes tutoriales

3.

Chris dice:
21 agosto 2013 a las 13:42
hombre excelente tuto, quedare atento a las demas partes y que lastima que te hayas tenido que retirar por una lesion XD

4. Programar en android: Instalacion y primera aplicacion - Chismes Mundo | Chismes Mundo dice:
25 agosto 2013 a las 23:17
[] doble click en src/cl.comolohago.chistosidades/MainActivity.java y veremos algo como esto: texto planocopiar []

http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

21/24

27/6/2014

5.

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

jhon dice:
26 agosto 2013 a las 19:27
muy bueno, espero impaciente la siguiente entrega del tutorial

6.

Marco Torrico dice:


3 septiembre 2013 a las 15:56
Felicidades que gran equipo que son uds., sigan con el mismo entusiasmo y aguardo ansioso los siguientes temas.

7.

Xabadu dice:
3 septiembre 2013 a las 18:53
Gracias Marco!, esperamos entre el fin de esta semana y la prxima publicar la siguiente parte.
Saludos!

8.

Oscar dice:
16 septiembre 2013 a las 17:37
Muy buen tuto, para cuando el siguiente?

9.

Vertig0 dice:
16 septiembre 2013 a las 21:15
@Oscar
Mandamos a Xabadu en una misin hiper secreta a Andorra, PERO dicen que ya viene en camino y que lo primera que har ser
comerse un pan con palta Y LUEGO la segunda parte de la saga. Paciencia!

10.

Oscar dice:
17 septiembre 2013 a las 7:47
Buen comienzo, espero impaciente las sucesivas publicaciones.

ltimos comentarios

Comenta
Nombre (obligatorio)
E-mail (no ser publicado) (obligatorio)
Sitio Web
http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

22/24

27/6/2014

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

Comentar

Artculo Sugerida

Cmo hacer Huevitos de Chocolate

Busca en CLH
Buscar
Anuncios Google

Android Apps APP


Programar Android
Patrocinadores Android aplicaciones
Anuncios Google

Java for Android


Programacion Android
Android SDK

Categoras
Animales
Audio
Capsulas
Casos de la vida real
Celular
Chile
Cine
CLH
CLH Express
Coleccionismo
Comida
Compra Inteligente
Computacion
Concursos
Cosplay
Crisis
Cuidado Personal
Deportes
http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

23/24

27/6/2014

Cmo programar apps para Android #1: Descarga, instalacin y primera app - Como Lo Hago

Destacado
Dibujo
Diseo
Diseo Web
Documentos
Electronica
Especiales
Finanzas
Fotografa
Hacking
Herramientas
Hogar
Humor
Juegos
Juguetes
Laboral
Magia
Manualidades
Matematicas
Miscelaneos
Moda
Modding
Musica
Navidad
Noticias
Optica
Patrocinados
Personal
Religin
Stencil
Supervivencia
Tecnologia
Tragos
Tramites
Videojuegos

Top Blog
Algunos derechos reservados bajo Creative Commons y la Licencia CLH | Como Lo Hago 2008-2013. | Implementado en
Wordpress | Diseado en modo Guerrilla Style por el equipo CLH

http://www.comolohago.cl/como-programar-apps-para-android-1-descarga-instalacion-y-primera-app/

24/24

Вам также может понравиться