36

Programación Android II-Hola Mundo

meneame_share

holamundo 478x336 Programación Android II Hola Mundo

En el post anterior, se explicó como instalar y configurar adecuadamente el entorno de desarrollo Android para realizar nuestras aplicaciones Android en Windows. Ahora, vamos a  empezar por como crear un proyecto, definir las partes más importantes de su estructura y el popular “Hola Mundo”.

Para empezar un nuevo proyecto Android, seleccionamos File/New/Other/Android Proyect

nuevoproyecto 478x448 Programación Android II Hola Mundo



Pulsamos en Next, y nos aparecerá una ventana emergente, donde:

  • Project name: Es el nombre que queramos darle a nuestro proyecto
  • Package name: Deberá de ser un nombre único. Google sugiere que como base pongas: nombreaplicacion.nombredesarrollador
  • Activity name: El nombre de la clase que implementará la actividad.
  • Application name: El nombre que aparecerá al usuario.

También seleccionaremos en que versión de Android queremos trabajar. Es más lógico escoger la 1.6 ya que funcionaría para todas las versiones posteriores.

Posteriormente vemos como se crea el proyecto en la barra de la derecha. Si lo abrimos podemos observar todo el esqueleto de la aplicación y cada una de sus partes.

Podemos definir que Android utiliza un motor Java de fondo (con su API propia pero muy parecida a java), y el entorno gráfico que utiliza XML.Un esquema podría ser este:

Motor Java<—>Interfaz Xml<—>Usuario

Partes importantes de una aplicación Android:

  • AndroidManifest: Es un archivo de tipo XML, algo así como un indice de la aplicación donde definimos la versión de nuestra aplicación, los activities de los que consta y los permisos que debe de tomar la aplicación (conexión a internet, mensajeria, contactos, etc).

  • Activities: Se define por si misma como la ventana que aparece para el usuario. Por defecto se crea una pero si queremos desarrollar otras ventanas que interactuen con el usuario (al pusar un botón por ejemplo), debemos de crearlas aparte y definirlas en el manifest.
  • Res/Layout/Main.Xml: Define toda la interfaz gráfica de la aplicación, por defecto crea la inicial con un layout (capa) simplón.

  • Res/Values/Strings.Xml: Define un cadena de caracteres a ser llamada desde nuestra aplicación Java.Resulta mas útil que estar escribiendo variables en la propia aplicación. Por defecto nos crea un string que resuelve el nombre de la aplicación.

  • Res/Drawable: Aquí encontramos todos los iconos e imágenes que vamos a usar en nuestra aplicación.
  • Src/Package/Aplicación.java: Todo el código en Java de nuestra aplicación.

Ahora vamos a proceder a mostrar un “Hola Mundo” como texto en nuestra aplicación.

Para ello, vamos al fichero de strings.xml y definimos:

<string name=”hello”> HolaMundo!</string>

Vamos al fichero de interfaz, que como ya sabemos es el main.xml:

<?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”

>

<TextView

android:layout_width=”fill_parent”

android:layout_height=”wrap_content”

/>

</LinearLayout>

Como vemos, en la cabecera se define el metadata y la codificación que vamos a usar (utf8). Después viene seguido el tag <layout> que encierra la capa principal de la aplicación. Quien tenga nociones de html y xml no tendrá mucha dificultad de la idea principal.

android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”

Define la orientación de la capa( y todo lo que haya dentro), así como la anchura y la altura que en este caso con la propiedad fill_parent toma todo el espacio posible. Dentro de lo que es la propia capa encontramos:

<TextView
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
android:text=”@string/hello”
/>
Nos dice principalmente que muestra texto y su orientación con respecto a la capa. La propiedad android:text es el nombre de la cadena que va a mostrar. En este caso llama a la cadena @string/hello que definimos anteriormente en strings.xml que es “hello”.
Vamos a ejecutarlo dándole a Run, y esperamos que arranque la máquina virtual.

En el próximo tutorial, crearemos una aplicación interactiva, creando botones, campos y un activity nuevo.


meneame_share

36 comentarios

  1.   Colymore dijo

    Simplemente genial.

  2.   ola? dijo

    3 puntos colega! ^ ^ de lujo

  3.   rikimm dijo

    hola esta muy buena esa idea de enseñar a programar en android pero creo que primero deverias hacer es enseñar los tipo de codigos que utiliza por decirlo asi un glosario de todos los terminos que utiliza android para que tengan una idea muy clara y sepan de que se esta hablando y ya asi hacer el hola mundo o la inter con objetos etc….

    1.    Jadriancz dijo

      a quien no le parece buena tu idea pero la realidad no es asi aun a la fecha falta mucha documentación para desarrollo y no hay de otra que se autodidactas si te gusta el desarrollo y mas el android saludos:

  4.   L3st dijo

    La API de Android y de Java(sobre todo Java), es enorme.Y estoy hablando de miles de funciones diferentes.Estos son pequeños tutoriales enseñando lo más básico, definiciones,funciones y como empezar a construir una aplicación sencillita.El código aquí mostrado no tiene ningún misterio.En otro post enseñaré como se usa la API, buscar las funciones e implementarlo al gusto(eso ya cada cual).
    Tras 7 años programando,aprendí que la filosofía de la programación es buscarse la vida ;) Un Saludo

  5.   Tárek dijo

    …y una de las cosas que más ayudan son estos pequeños tutoriales que se curra la gente. Buen trabajo L3st!

    Un pequeño detalle: has dicho que pongamos Anroid 2.2 como versión de Android, y que eso funcionaría con las versiones anteriores.

    Esto es al revés. Si compilas para 2.1, funcionará en 2.2, pero NO en 1.6.
    La versiones más nuevas de Android pueden ejecutar aplicaciones para versiones anteriores (backwards compatibility), pero no al revés. Ten en cuenta que la API es cada vez mayor, y que 2.2 tiene muchísimas más funciones que 1.5 o 1.6.

    Por qué no poner 1.5 como versión siempre?
    – Puedes querer usar funciones del sistema operativo que 1.5 no soporta
    – Hay unas pequeñas incompatibilidades en la resolución de pantalla entre 1.5 y versiones posteriores que te pueden dar problemas, pero es una historia un poco larga para poner aquí.

    Afortunadamente, casi todos tienen ya 2.1 (quedan las pobres HTC Tattoo, dejadas de la mano de dios). Si no necesitas funciones de API de la 2.1, lo mejor es compilar para 1.6.

    Un saludo!

  6.   L3st dijo

    Cierto, gracias Tárek , quería decir justo a eso, y se me escapó el gazapo
    Un saludo!

  7.   Manu dijo

    Tras el primer post de programación en Android, esperaba este como agua de Mayo y esperaré con impaciencia todos los siguientes. Explicarás como hacer una interfaz gráfica?

    Enhorabuena!

  8.   L3st dijo

    Claro! A ver si este fin de semana tengo hueco

  9.   Cesar dijo

    Me encanta el diseño gráfico y combinarlo con programación es una maravilla voy a aprender programación de android si o si …..!!!! sois los mejores solo s el problema es k tengo k esperar a mi imac…. jejeje saludos espero con ansias los demás tutoriales

  10.   ferf dijo

    Hola buenos dias, estoy empezando a programar para android y me surge una duda.

    Cada vez que hago Run, se me abre la ventana del emulador y me sale una pantalla que pone A N D R O I D_ en cuenta del Hola Mundo…

    Teneis alguna idea de porque puede ser?

    Un saludo y gracias

  11.   ferf dijo

    jeje no he dicho nada, no le dejaba tiempo suficiente. Pense que se ejecutaba directamente la aplicacion..

    Saludos!

  12.   Banshi dijo

    Buenas!
    Tengo un problema, cada vez que le doy a crear un proyecto me salen 2 errores
    -Project “nombre” is missing required source folder: ‘gen’
    -The project cannot be built until path errors are resolved.

    Alguien me puede ayudar a solucionarlo, he seguido los paso del primer manual y creo que lo he configurado todo bien, gracias.

    Saludos.

  13.   L3st dijo

    Eso es porque no te ha generado bien el proyecto. Fíjate bien, si has puesto todo bien, y cuando lo crees,espera un ratillo a ver si es que está tardando y el eclipse se te adelanta.Alguna vez me ha pasado

    1.    Syncrom dijo

      Álvaro, me gustaría poder tratar contigo algunos temas. ¿Podrías visitar nuestra web, http://www.syncrom.com, y rellenar el formulario de contacto, y así no damos correos en el foro?

      Gracias, y un saludo,

      Grupo SYNCROM.

  14.   Diego dijo

    Buenas. Estoy muy interesado en aprender y me he encontrado con esto..si..un poco tarde, pero mas vale tarde q nunca.

    He hecho todo segun se indica en el tutorial pero no me sale el hola mundo, en su lugar me sale ANDROID_

    que he hecho mal???

  15.   homerosawa dijo

    esta bien, que bueno es para alguin nuevo que quiere apender

  16.   Rafa dijo

    Pue sigo por aquí flipando de lo bien explicado que está… tengo ganas de ver más cosas para ir haciéndome a la ídea de las posibilidades y complicaciones.
    Muchas gracias.
    Un saludo,
    Rafa

  17.   Andres dijo

    La verdad esta muy bueno el tuto, lastima que no se si no me funciona o segun lei arriba demora mucho en cargar, cuando corro el emulador me sale un android_ y despues de ahi arranca otra imagen de android con letra mas linda y con un brillo que va de izquierda a derecha, pero nunca arranca mi codigo, o por lo menos no en estos casi 5 min que lo llevo ejecutando…. que estoy haciendo mal?

    desde ya muchas gracias.

    1.    Rafa dijo

      A mi me pasa lo mismo, no se si está intentando arrancar o si no lanza la aplicación.

    2.    Kike dijo

      Me pasa lo mismo!

  18.   Omar dijo

    Ke tal soy nuevo en esto, y me parece muy buen post para los que queremos inicar, thansk bro

  19.   davidjb dijo

    muy buena estructura al momento de explicar. muy facil de entender

  20.   dexter_one dijo

    Simplemente … Muy bueno. Se agradece tu aporte!

    Bytez!

  21.   lean dijo

    Realmente son de muchisima ayuda, estos dos post… pero veo que hace 1 año del segudo y que yo sepa el ultimo…

    Seguiras completando o hasta aqui se llego?

    Muchas gracias

  22.   mauroya dijo

    Hola estoy comenzando a programar Android y es interesante ya que es muy parecido Java pero me marca un error en Windows al crear el Wizard y es
    “[2011-07-29 10:13:19 - Dex Loader] Unable to execute dex: wrapper was not properly loaded first
    [2011-07-29 10:13:19 - HolaMundo] Conversion to Dalvik format failed: Unable to execute dex: wrapper was not properly loaded first”
    pero en ubuntu me resulta genial,

  23.   Mirna dijo

    Muy bn! sigue asi

  24.   mauroya dijo

    Amigos ya lo solucione el error se provoca por que al ejecutar el directorio del sdk no debe tener espacios asi que lo copie al c:\sdkandroid y funciono genial cualquier novedad las comunicare gracias

  25.   Noe Jafir dijo

    Ola me gustaria saber si alguien me pudiera resolver este error que me sale al correr la aplicacion
    [2011-09-02 11:32:29 - Emulator] invalid command-line parameter: Files.
    [2011-09-02 11:32:29 - Emulator] Hint: use ‘@foo’ to launch a virtual device named ‘foo’.
    [2011-09-02 11:32:29 - Emulator] please use -help for more information

  26.   Anonimo dijo

    El error que comentas creo que se debe a la ruta donde tienes instalada android-sdk debido a que contiene espacios…

    Para ejecutar el emulador tendras que crear el AVD (te recomiendo Android 1.5 al principio) y después de que te salga el error que comentas, sin cerrar nada, ejecutar lo siguiente:

    C:\Program Files (x86)\Android\android-sdk\tools>emulator-arm.exe @nombre
    Donde C:\Program Files (x86)\Android\android-sdk\tools es el directorio donde tienes el android-sdk
    emulator-arm.exe: es el emulador que visualiza el móvil
    @nombre: es el nombre que le has puesto al AVD

    Espero haberte ayudado, un saludo.

  27.   nach dijo

    Buenas. Por qué cuando lanzo para visualizar el hola mundo, se queda parpadeando un texto en el emulador que pone android y no hace nada??? Muchas Gracias. y gran gran tuto!

  28.   L3st dijo

    Cuando sale el logo de Android es que está cargando el emulador.El tiempo depende de la potencia de tu máquina. Saludos

  29.   meduag dijo

    Espero las proximas entregas de este tuto, simplemente buenisimooooo… un saludo desde los brasiles

  30.   Lsdany dijo

    Buenisimo el tut… entendible de inicio a fin… solo que ahora tengo un problema :S cuando corro mi avd no me aparece la parte del teclado… he probado con distintas versiones, y cuando arranco en start en el manager… solo aparece la pantalla de android “cargando” de igual modo cuando trato de correr el “hola mundo” gracias por su ayuda…

    1.    Lsdany dijo

      solucionado… jajaja

  31.   Anon dijo

    Muchisimas gracias por los tutoriales, no soy muy de felicitar y tal, pero de verdad es tan facil de entender que me sentia “obligado” a felicitarte

Escribe un comentario