Empezar a desarrollar en Android (Hola Mundo)

¿Porque Android aquí en JavaMexico? porque si quieres desarrollar para Android tienes que programar en java entonces Android = java, la respuesta es: no, pero si java es parte de Android.

Android

Es hora de empezar a escribir código en Android pero antes de ello necesitamos algunas cosas para empezar para ello primero debemos instalar el SDK de desarrollo que nos proporciona google en la siguiente dirección: http://developer.android.com/sdk/index.html aquí lo único que debemos hacer es descargar el instalador de acuerdo a la plataforma que estemos utilizando en mi caso descargare para Windows (si eligen Windows descarguen el .exe).

Instalando el SDK de Android
Como único requisito antes de instalar el SDK de Android debemos tener instalado el SDK de java en nuestra computadora.
Una vez que descargamos el instalador, lo ejecutamos y seguimos las instrucciones, este proceso es un poco largo y tardadito a mi me tomo poco mas de 10 minutos lo bueno de este es que no hay que configurar casi nada para poder a empezar a desarrollar.
Una vez que termina el proceso de instalación nos ejecuta el SDK Manager que es un proceso en dos que lanza la aplicación Android SDK and AVD Manager, esta utilidad nos permite tener actualizado nuestro SDK de Android ya que nos muestra las actualizaciones que google lanza y que están disponibles para que nosotros las tengamos, así como también nos permite crear dispositivos o emuladores que nos van a permitir correr nuestras aplicaciones, el Android SDK tiene la siguiente apariencia:

Android SDK tools

Configurando nuestro emulador de Android
La siguiente cosa que debemos hacer antes de empezar a programar es configurar nuestro emulador, para ello estando en el Android SDK and AVD Manager vamos a la opción “Virtual Devices” de lado izquierdo pulsamos y de lado derecho nos aparece una lista vacía, con botones entre los cuales tenemos el botón de “New…” lo pulsamos y nos abre una ventana para configurar nuestro emulador.

Creando Android Virtual

Como pueden observar en la imagen es muy sencillo solamente tenemos que llenar el campo nombre (el que ustedes quieran) en el tarjet escogeremos la versión de Android que queremos que tenga nuestro emulador al momento de escribir este tutorial es la 2.3 la mas reciente tanto que usare la 2.2 que es la más utilizada actualmente), en el parámetro Size de SD Card ponemos la cantidad de megas que queremos que ocupe (recomiendo unos 300 MB) y finalmente si queremos ajustar la resolución lo hacemos en el parámetro Resolution de la sección Skin por ultimo presionamos el botón “Create AVD” y listo ya tenemos nuestro emulador Android listo para probar nuestras aplicaciones. Para ver como está funcionando lo seleccionamos de la lista y pulsamos el botón “Start” el sistema empezara a lanzar una serie de ventanas y finalmente voila…

Android emulado

Creando el Hola Mundo Android!!
Ya que tenemos todo listo es hora de agarrar nuestro editor de código favorito y empezar a desarrollar el clásico “hola mundo”, en esta ocasión lo realizare con IntelliJ Idea (que de ahora en adelante nombrare Idea) que es un editor muy completo y además ya trae el Plugin para desarrollar en Android, en otro tutorial les mostrare como configurar el Plugin de Android en Eclipse.
- Abrimos Idea una vez dentro creamos un nuevo proyecto
- Pulsamos en siguiente, seleccionamos el nombre (HolaMundoAndroid) y en el tipo del proyecto seleccionamos Android Module.
- Pulsamos siguiente, siguiente hasta llegar a la siguiente pantalla:

nuevo modulo android

En el apartado SDK properties nos pide el sdk de Android para el que vamos a desarrollar (recuerden que arriba dijimos que desarrollaríamos para Android 2.2) así que lo seleccionamos sino aparece damos clic en nuevo y nos va a pedir la ruta de donde instalamos el SDK de Android por default en Windows es c:/archivos de programa/Android/ Android-sdk-windows le damos esta ruta y nos muestra todas las versiones, seleccionamos la 2.2 y aceptamos finalmente damos clic en finalizar.

Bien hasta este punto ya tenemos nuestro proyecto creado y configurado, la última cosa por hacer es configurar Idea para que instale la aplicación en el emulador que creamos unos pasos atrás y la ejecute automáticamente para que de esta manera veamos el resultado.

Configurar el Emulador de Android en Idea
Estando en Idea vamos al menú “Run” luego “Edit Configurations” y nos saldrá la ventana correspondiente en esta parte, en la esquina superior izquierda tiene un iconito de “+” (agregar nueva configuración) pulsamos ahí y nos mostrara una pantalla similar a la siguiente:

figurar emulador android en idea

En esta pantalla configuramos el nombre que le vamos a dar a esta configuración, en modulo seleccionamos de la lista desplegable el proyecto que acabamos de crear, en la opción “launch” el paquete que contiene nuestra clase de Android (por ahorita el único que aparece, mas adelante nos tocara modificar un poco estas opciones) marcamos la casilla “Deploy Application” esto para que nos instale nuestra aplicación en el emulador y finalmente “Prefer Android Virtual Device for Deployment” seleccionamos el emulador de Android que creamos unos pasos atrás, clic en aplicar y luego ok con esto ya tenemos todo listo.

Para ver nuestro Hola mundo únicamente pulsamos la opción “Run(Mayusculas +F10)” e inmediatamente después Idea empezara a lanzar un proceso que ejecutará el emulador que configuramos una vez ejecutado el emulador Idea lanzara un comando que instalara nuestra aplicación en el emulador y luego la ejecutara tendiendo el siguiente resultado:

(lo que sí que tenemos que esperar un poquito porque es un poco tardado el deploy bueno depende del equipo que tengan yo tengo uno ya atrasadito y se tardo más o menos dos minutos en mostrarme el emulador con mi aplicación corriendo)

Hola Mundo Android

Pues eso es todo para este tutorial, me agradaría leer sus comentarios, ¿les gustaría que siguiéramos desarrollando en Idea o tal vez en eclipse?

Espero se den una vuelta por mi blog
Post Original: http://robertoleon.com.mx/empezar-a-desarrollar-en-android-hola-mundo/
Todas las entradas de Android: http://robertoleon.com.mx/category/android/
@FlexJRL

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Bien y con IntelliJ IDEA ;)

Bien y con IntelliJ IDEA ;)

Imagen de Sr. Negativo

Muy buena iniciativa...pero con Eclipse

No sé usar muy bien los IDE,pero me gustaría que el tutorial fuera en Eclipse.

EDIT:
¿Los IDE son necesarios?

Imagen de Shadonwk

es realmente lo mismo Sr.

es realmente lo mismo Sr. Negativo, pero sí, realizare el mismo tuto para que vean que es lo mismo.

@Sr(-) Entiendo entonces que

@Sr(-) Entiendo entonces que no tienes preferencia, si es así porque te gustaría Eclipse? Los IDE's no son necesarios, se pueden hacer todas esas tareas sin ellos, pero pues, es más trabajo ( sobre todo con los archivos de configuración )

@Shadownk, +1 por copiar tu tutorial acá( @javamexico )

Imagen de jhonvam

porque desarrollar sobre Android?

Esta muy bueno el tuto, pero me gustaria saber que piensas sobre el mismo Android? crees que los Smartphones tiendan a adquirir este SO?

Imagen de JaimeItlzc

Por que Android?

Aqui te dejo algo sobre eso.
Android

Saludos.

Re: porque desarrollar sobre Android?

Esta muy bueno el tuto, pero me gustaria saber que piensas sobre el mismo Android? crees que los Smartphones tiendan a adquirir este SO?

No es que vayan a tender a usarlo...¡YA LO USAN!, android ya ha superado a Symbian que era el mayor vendedor, ahora android está al mismo porcentaje que iOS y ya ha desplazado a Blackberry. Además android utiliza Java para el desarrollo de las aplicaciones por lo que concuerda con el tema de ésta comunidad.

Imagen de ezamudio

Uso de Android

Imagen de chonflys

estudio de android

Android es todo un fenomeno, y si contiene java ............ pues hay que aplicarnos para no quedarnos atras y ser parte tambien de el fenomeno

Imagen de Shadonwk

en eso ando @chonflys

en eso ando @chonflys aprendiendo y publicando tutos :)

Imagen de javiher

¿Por qué usar

¿Por qué usar Android?

...porque es un sistema libre con kernel Gnu/Linux ?

buff entre muchas otras cosas,

¿quizás me preguntaría por qué no usarlo?

Por si alguien está empezando le puede interesar MotoDev de Motorola es un IDE , basado en Eclipse que os facilitará las cosas al principio, también pueden encontrar buenos tutoriales, extras a los de Android Developers, en http://developer.motorola.com/ (está disponible tanto para windows como para Gnu/Linux).

Saludos

Imagen de javiher

Aquí hice un pequeño HowTo de

Aquí hice un pequeño HowTo de como conectarse a un Servidor de VoIP Open Source (Asterisk) con un SmartPhone o TabletPC Android.

Espero que le pueda servir a alguien.

http://javdroid.wordpress.com/2011/02/01/crear-una-conexion-entre-asteri...

Imagen de jhonvam

y las Bases de Datos?

y que hay con las bases de datos? tambien se pueden crear aplicaciones para manipular las bases?

Si se puede

Si se pueden crear aplicaciones que manejen bases de datos, aun no lo he hecho pero se utiliza SQLite

Re: y las Bases de Datos?

Cómo te han dicho, Android contiene un SQLite embebido. No se recomienda que dispositivos de este tipo hagan los cálculos fuertes a bases de datos, por el hecho que el desempeño de un dispositivo móvil (salvo los top-line, los cuales son dual-core y tienen bastante RAM) no es comparable con el de un servidor; otra razón es que tienes restricciones por parte de Android Market o de Amazon y creo que las aplicaciones en Android Market o Amazon no pueden utilizar bases de datos fuera de SQLite.

Sin embargo, siempre puedes disponer de los bien ponderados webservices, tan sencillo y muy bueno (en desempeño).

Imagen de jhonvam

Solamente Utilizando un sdk correcto?

Pregunta!!!

Si se desarrolla una aplicacion para ANDROID y deseamos que esa misma aplicacion se ejecute en una BlackBerry,
Solamente se tendria que recompilar para que se pudiera ejecutar en la BB?
ó practicamente se tendria que hacer nuevamente la programacion?

Gracias!

Imagen de benek

Re: Solamente Utilizando un sdk correcto?

Pregunta!!!
Si se desarrolla una aplicacion para ANDROID y deseamos que esa misma aplicacion se ejecute en una BlackBerry,
Solamente se tendria que recompilar para que se pudiera ejecutar en la BB?
ó practicamente se tendria que hacer nuevamente la programacion?
Gracias!

No, tendrías que desarrollar para cada dispositivo.

Para empezar, Android se programa en Java pero el bytecode para Dalvik no es el mismo bytecode que para la JVM. Y no sólo el código compilado, por dar un ejemplo, el AndroidManifest.xml de poco le va a servir al SDK de BB. En cuanto al código fuente, Android se basa en el Application Framework que es una capa sobre la cuál se desarrollan Views, Activities y Services, y se tiene acceso a los componentes y hardware del dispositivo, así que tu desarrollo va muy apegado a este Framework, para BB no te serviría de mucho.

Imagen de jhonvam

Definitivo

Resumiendo,....
Para cada sistema operativo (Hablando de Dispositivos Moviles), hay que generar nuevamente toda la programación, no es tan portatil, como llegar e instalar la JRE e iniciar mi aplicacion?...

donde quedo la portabilidad?????

Muchas gracias benek!

No es tan portatil por que

No es tan portatil por que usan API's diferentes.

Es como pretender que el mismo cliente para Twitter funcione para Facebook ( usando el mismo código ) API's diferentes requieren ... pues .. .programas diferentes.

Imagen de ezamudio

reclámale a los fabricantes

Reclámale a Apple y a RIM, que usan API's propietarios (aunque RIM sea basado en Java, pues es su propio SDK). Android fue la respuesta de Google, un sistema abierto para que los fabricantes de celulares puedan instalarlo en sus aparatos, modificándolo si es necesario (o para darle algún valor agregado que les genere una ventaja competitiva sobre otros dispositivos Android).

Imagen de jhonvam

TKS

Orale, hay algo que si me deja pensando..., como es que saben todo eso?
muchas gracias por las respuestas,
Saludos!

Tengo entendido que ahora

Tengo entendido que ahora Blackberry se volverá compatible con Android en sus nuevos modelos, así que a esperar se ha dicho.

Imagen de beto.bateria

Debes de considerar tambien

Debes de considerar tambien esto:

Aunque Android es el OS mas utilizado, es el que deja menos dinero, su Appstore esta invadido de programas que tienen muchos problemas, algunos de ellos de seguridad, ademas Google esta luchando para mantener un Android estandarizado, ya que las empresas que crean los smartphone estan creando sus propias apis, esto ultimo podria ser de gran impacto como programador, imaginate haciendo la misma aplicacion para lg, samsumg, htc, etc.

Iphone a travez de su Appstore es el que produce mas lana, llevan un proceso de calidad muy bueno, pero necesitas tener una mac para programar, como que esta mas enfocado a gente de dinero, gerentes y similares.

Lo excelente de Blackberry es su seguridad(hablando empresarialmente), tienen un "servidor" llamado MDS el cual te conecta directamente a la red de la empresa, y tiene algunas otras cosas que realmente deja atras a la competencia, muchos de sus smartphones son de batalla, y estan implementando QNX en sus dispositivos, es una lastima que esten quebrando.

Imagen de ezamudio

inconsistencia?

necesitas tener una mac para programar, como que esta mas enfocado a gente de dinero, gerentes y similares

Gerentes que programen? Pfff

Re: inconsistencia?

Más bien creo que quiso decir que para programar para iOS es necesario bastante $, o sea ganar lana cómo si fueras gerente.

Otra cosa que agregaría al comentario de @beto.bateria es que además hay que pagarle a Apple para que te haga el favor de probar TUS aplicaciones en TU dispositivo, sin contar que claro, Apple se queda la mayor parte de lo que genere tu aplicación en AppStore.

Imagen de beto.bateria

Me referia a que la marca en

Me referia a que la marca en si (no los programadores) esta mas enfocada a ese nicho de mercado, es decir me estoy refiriendo a los usuarios, y tambien me estoy refiriendo que necesitarias invertir mas de 20,000 para tener tu ambiente de desarrollo. Respecto a las ganancias, me parece que Apple se queda con un porcentaje decente, y tomando en consideracion que tu aplicacion queda a la vista de todo el mundo, pues creo que se justifica.

Re: Me referia a que la marca en

Quizás no tanto. Bien pudieras comprarte una MacMini que se acaban de renovar y vienen chidas ($9,000.00), necesitarías la licencia de iPhone SDK y XCode ($50.00), si no tienes monitor, teclado y mouse pues agregarlos (¿que te gusta, un monitor cómo este, un teclado y mouse cómo estos?, son $3000), a esto necesitaremos un dispositivo iOS, dependiendo el caso, si tus aplicaciones van para iPhone, pues basta con comprarse un iPod Touch ($3500), que tiene casi todas las funcionalidades de un iPhone (excepto servicios de operadora telefónica y GPS). Más el certificado para probar tus aplicaciones en un dispositivo físico ($1000.00 anual).

Hagamos cuentas:
9000 + 50 + 3000 + 3500 + 1000 = $16,550.00 pesos. Si bien casi se acerca a los $20,000.00 pero igual con iOS tienes las ventajas que comentas y en general, no se me hace un precio tan caro, ya que tienes una máquina compacta que puede hacer muy bien cualquier tarea, dudo que encuentres una tan compacta y potente cómo la MacMini por el mismo precio, con lo de las licencias ahí si sería mucho más caro que Android o BB, pero, siendo ciertos en Android la gente no es muy agradada de comprar y BB con sus teléfonos que dan pena (al Torch le tuvieron que poner teclado físico porque su "sistema operativo" no tiene la capacidad para ser manipulado por medio del touchscreen al 100%, razón por la que el BB Storm 2 9550 no actualizó a BBOS 6). Creo que el mercado es de iOS, si Nokia se hubiera puesto las pilas y no hubiera dado su anuncio de WP ahorita otra cosa nos cantaba, pero las cosas así son.

Imagen de Shadonwk

me caías bien beto.bateria

me caías bien beto.bateria jajaj..

Cambiando de tema no todo es tan cagado en android, y por cuestiones de mercado, es quien lleva la bandera hasta ahorita, dejando por mucho a IOs de Apple, si es cierto que cualquiera puede desarrollar para android, pero también es cierto que por eso mismo los precios son baratos y hay competencia, muchos desarrollamos para android por hobbie, o por amor al software libre, porque no me dejaras mentir, que si en IOs modificas algo de sistema operativo, en muchas ocasiones terminaran baneando tu aparato, dejando sus funciones principales inutilizables, forzándote a usar las cosas como ellos lo quieren y al precio que quieren, también podemos aplicar el viejo refrán de "la clave no es vender pocas cantidades a un precio caro, sino vender barato a grandes cantidades" (o algo asi) porque seamos realistas, después de que pasaste todo el pedo y los gastos al fin tu app está en el Marquet de app y ahora para que alguien se decida a comprarla? y más aun, a realizar algún comentario positivo sobre ella, puede tardar días o incluso semanas.

ya depende del potencial que cada quien le quiera sacar a sus equipos, y al grado de personalización que quiera darles. A mí por ejemplo me gusta tener el control total de lo que hace el sistema operativo, incluso programándole tareas, y a un grado más allá como elegir la velocidad de reloj del procesador y monitorear la temperatura de mi dispositivo, cosa que según se no se puede hacer en dispositivos de IOs mientras que en android es muy sencillo.

En fin también un factor importante es cuestión de gustos.

Imagen de beto.bateria

Para vender puedes aplicar

Para vender puedes aplicar dos opciones:
Mucho y barato.
Poco y caro.

Cada una de ellas tiene sus bemoles, para cada una de ellas se necesita diferente tipo de mercadotecnia.

A veces nos olvidamos del mercado, de los potenciales clientes que van a requerir nuestro conocimiento y habilidades, lo que escribi arriba esta mas orientado a ver esa parte que muchos de nosotros como programadores no vemos.

Por ejemplo, a ti te gusta el Android por ciertas caracteristicas, y estoy seguro que hay mercado para lo que te gusta hacer, las situacion es, ¿como encuentras a tus clientes?, ¿como lo vas a vender?, ¿como vas a encontrar la empresa que te vaya a contratar como empleado?.

Un ejemplo muy claro, a mi me gusta programar para Blackberry, pero tengo que migrar porque va a ser mas dificil encontrar clientes. Me gustaria aprender a programar para iphone, pero no tengo lana para comprar el hardware, asi que nos vamos a orientar a android. Ya cuando sea rico me comprare mi super mac.

Decidi aprender a programar Blackberry por unas razones, que podrian extenderse a iphone, pero no se puede seguir, asi que a buscar otra opcion y encontrar la forma de venderlo a clientes con cierto perfil.

Imagen de Shadonwk

Ahi esta el punto, tu

Ahi esta el punto, tu programas para determinado SO para vender y onbtener un beneficio economico, yo lo hago porque me gusta, y para mí... creo que todo buen programador, vive de su trabajo, pero no porque tenga la necesidad, sino mas bien porque le gusta hacerlo.

Imagen de beto.bateria

En realidad me gusta

En realidad me gusta programar, pero aprendi a considerar las variables economicas.