SlideShare una empresa de Scribd logo
TUTORIAL
Creando un nuevo proyecto
La mejor forma de conocer un sistema es probándolo asi que
vamos a crear el proyecto y por el camino vamos explicando
cómo funciona Android.
Una vez instalado el plugin, creamos el nuevo proyecto de
Android (File > New > Project > Android Project). Damos a
siguiente:
 Project name: HolaMundo
 Package name: com.example.holamundo
 Create Activity: HolaMundo
 Application name: Hola Mundo
Aunque he puesto los mismos nombres en los 4 sitios no tiene
por qué coincidir, como sabréis. El nombre de la aplicación es lo
que veréis en el móvil, las actividades son los controladores de
Android, el nombre del paquete es algo interno y el proyecto es
lo que veréis en Eclipse. Finalizamos y podremos ver el
siguiente árbol de archivos
Voy a explicar la estructura:
 /src – Aquí se encuentran las actividades (controladores
recuerdo), clases y un archivo que se llama R.java. Este
archivo no se debe tocar nunca, Android lo actualiza
automáticamente pero si lo veis os encontraréis con
variables y posiciones.
 /Android Library – Eclipse referencia al sdk de Android.
No mováis nunca el sdk de sitio o si lo hacéis recordad
cambiar la dirección
 /assets – Aquí se puede incluir archivos varios (música,
pdfs, zips, rars)
 /res/drawable – Todas las imágenes van en este directorio
 /res/layout – Todas las vistas van aquí
 /res/values – En el archivo strings.xml podemosponer
variables que luego sustituiremos en las vistas
 AndroidManifest.xml – Este archivo es muy importante
porque recoge todas las actividades y algunas
configuraciones del proyecto.
Antes de seguir vamos a ejecutar el proyecto, y para eso damos
a Run As y elegimos Android Application. Si instalasteis todo
bien saldrá el emulador, cargando iniciando Android (tarda un
poquito). Lo desbloqueamos dando a Menú, y ya puedes ver la
aplicación más básica que se hace en todos los lenguajes,
nuestro Hola Mundo.
Si quieres puedes investigar los programas que trae el emulador,
está bastante bien conseguido;aunque para mi gusto faltan
varios detalles como girar el teléfono en posición horizontal. A
continuación veremos cómo ha funcionado el programa.
Entendiendo el Hola Mundo
Gracias al plugin de Android, no hemos programado nada y ya
tenemos el programa básico. Pero como hemos visto antes en la
estructura, se han creado unos cuantos archivos. Vamos a ir paso
a paso por cada uno de ellos.
?
01
02
// AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
03
04
05
06
07
08
09
10
11
12
13
14
15
16
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.holamundo"
android:versionCode="1"
android:versionName="1.0.0">
<application android:icon="@drawable/icon" android:label="@string/app_name
<activity android:name=".HolaMundo"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /&gt
</intent-filter>
</activity>
</application>
</manifest>
Supongo que estaréis familiarizados con xml, si no, no os
preocupéis, es muy fácil de entender. Podemos ver como crea un
manifesto con el paquete y la versión de Android. Contiene la
aplicación que hemos
creado. android:icon="@drawable/icon"coge la
imagen llamada icon.png del directorio /res/drawables y la
asigna como icono. Esto es lo que véis en el menú de
aplicaciones. Lo mismo sucede
conandroid:label="@string/app_name", sustituye la
variable app_name por su valor en el archivo:
?
1
2
3
4
5
6
// res/values/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, HolaMundo</string>
<string name="app_name">Hola Mundo</string>
</resources>
Volviendo a AndroidManifest.xml, vemos que dentro de
application se encuentra la actividad
principal android:name=".HolaMundo", que corresponde
con un punto más el nombre de la clase java
en src/com.example.holamundo.El resto son detalles más
profundos. Asi que Android ejecuta esa clase, vamos a verla:
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
// src/com.example.holamundo/HolaMundo.java
package com.example.holamundo;
import android.app.Activity;
import android.os.Bundle;
public class HolaMundo extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
// Inicializa la actividad
super.onCreate(savedInstanceState);
// Asignamos la vista
setContentView(R.layout.main);
}
}
Crea una actividad llamada HolaMundo con un único método
que sobreescribe al de la clase que extiende. Vemos como
setContentView pasa como parámetro R.layout.main que
representa a /res/layout/main.xml.Pero como dije antes, todo las
referencias a archivos y variables pasan por la clase R.java que
Android se encarga de ajustar automáticamente. Veamos la vista
?
01
02
03
04
05
06
07
08
09
10
11
12
13
// res/layout/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"
android:text="@string/hello"
/>
</LinearLayout>
Como podéis ver vuelve a ser un xml y es que Google ha
elegido usar xml para representar las vistas. LinearLayout es un
tipo de layout que muestra los elementos uno debajo de otro.
Tiene orientación vertical y ocupa toda la pantalla tanto a lo alto
como a lo ancho.
Dentro podemos ver un campo de texto (TextView) cuyo texto se
encuentra en el archivostrings.xml visto antes.
Finalizando
Hemos visto paso por paso lo que hace Android para ejecutar un
sencillo Hola Mundo. Lo importante es:
 AndroidManifest.xml contiene todas las actividades
indicando cuál se ejecuta primero.
 Todas las actividades y clases se encuentran en src. La
actividad HolaMundo usa el layout main.xml
 Todos los layouts están en res/layout.Se programan en
xml siguiendo las etiquetas del SDK de Android.
 En cualquier sitio podemos referenciar a variables del
fichero strings.xml. Esto es muy útil para aplicaciones en
varios idiomas.

Más contenido relacionado

Destacado

Proyecto 1 gaby
Proyecto 1 gabyProyecto 1 gaby
Proyecto 1 gabyAndy West
 
palacio neoclasico : Palacio de anaya
palacio neoclasico : Palacio de anayapalacio neoclasico : Palacio de anaya
palacio neoclasico : Palacio de anaya
Rudi2014
 
Ambiente de aprendizaje de un compañero
Ambiente de aprendizaje de un compañeroAmbiente de aprendizaje de un compañero
Ambiente de aprendizaje de un compañeroJazmin Vazquez Miranda
 
Rio Cerezuelo - Nacelrio - Riogazas - Tornajo de Cagahierro - Montesión - Cas...
Rio Cerezuelo - Nacelrio - Riogazas - Tornajo de Cagahierro - Montesión - Cas...Rio Cerezuelo - Nacelrio - Riogazas - Tornajo de Cagahierro - Montesión - Cas...
Rio Cerezuelo - Nacelrio - Riogazas - Tornajo de Cagahierro - Montesión - Cas...
Porlasierra
 
Trend List 2013
Trend List 2013Trend List 2013
Trend List 2013Koko Ombu
 
Brand you construye tu marca personal
Brand you construye tu marca personalBrand you construye tu marca personal
Brand you construye tu marca personal
Jorge García
 
loop für die Energiewirtschaft
loop für die Energiewirtschaftloop für die Energiewirtschaft
loop für die Energiewirtschaft
REDTREE GmbH
 
Fiscalías y mayordomías
Fiscalías y mayordomíasFiscalías y mayordomías
Fiscalías y mayordomías
HilarioTopete53
 
Tarea 4.2 Marketing Turístico
Tarea 4.2 Marketing TurísticoTarea 4.2 Marketing Turístico
Tarea 4.2 Marketing Turístico
MariaPilarPV
 
Google glass presentacion
Google glass presentacionGoogle glass presentacion
Google glass presentacionDavid Lojano
 
Rdn 080 2015-bnp guía y embalaje de colecciones bibliográficas 2015
Rdn 080 2015-bnp guía y embalaje de colecciones bibliográficas 2015Rdn 080 2015-bnp guía y embalaje de colecciones bibliográficas 2015
Rdn 080 2015-bnp guía y embalaje de colecciones bibliográficas 2015
Eli AC
 
GEI digital - Aufbau einer fachlichen Digitalisierungsplattform für externe D...
GEI digital - Aufbau einer fachlichen Digitalisierungsplattform für externe D...GEI digital - Aufbau einer fachlichen Digitalisierungsplattform für externe D...
GEI digital - Aufbau einer fachlichen Digitalisierungsplattform für externe D...
goobi_org
 
Tisha and Terri
Tisha and TerriTisha and Terri
Tisha and TerriGlenville2
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de softwareDiana Lopez
 

Destacado (20)

Proyecto 1 gaby
Proyecto 1 gabyProyecto 1 gaby
Proyecto 1 gaby
 
palacio neoclasico : Palacio de anaya
palacio neoclasico : Palacio de anayapalacio neoclasico : Palacio de anaya
palacio neoclasico : Palacio de anaya
 
Ambiente de aprendizaje de un compañero
Ambiente de aprendizaje de un compañeroAmbiente de aprendizaje de un compañero
Ambiente de aprendizaje de un compañero
 
Rio Cerezuelo - Nacelrio - Riogazas - Tornajo de Cagahierro - Montesión - Cas...
Rio Cerezuelo - Nacelrio - Riogazas - Tornajo de Cagahierro - Montesión - Cas...Rio Cerezuelo - Nacelrio - Riogazas - Tornajo de Cagahierro - Montesión - Cas...
Rio Cerezuelo - Nacelrio - Riogazas - Tornajo de Cagahierro - Montesión - Cas...
 
Trend List 2013
Trend List 2013Trend List 2013
Trend List 2013
 
Brand you construye tu marca personal
Brand you construye tu marca personalBrand you construye tu marca personal
Brand you construye tu marca personal
 
loop für die Energiewirtschaft
loop für die Energiewirtschaftloop für die Energiewirtschaft
loop für die Energiewirtschaft
 
Valores en pre escolar
Valores en pre escolarValores en pre escolar
Valores en pre escolar
 
Fiscalías y mayordomías
Fiscalías y mayordomíasFiscalías y mayordomías
Fiscalías y mayordomías
 
Diarios de campo
Diarios de campoDiarios de campo
Diarios de campo
 
Bases quimicas de la vida
Bases quimicas de la vidaBases quimicas de la vida
Bases quimicas de la vida
 
Tarea 4.2 Marketing Turístico
Tarea 4.2 Marketing TurísticoTarea 4.2 Marketing Turístico
Tarea 4.2 Marketing Turístico
 
Google glass presentacion
Google glass presentacionGoogle glass presentacion
Google glass presentacion
 
Rdn 080 2015-bnp guía y embalaje de colecciones bibliográficas 2015
Rdn 080 2015-bnp guía y embalaje de colecciones bibliográficas 2015Rdn 080 2015-bnp guía y embalaje de colecciones bibliográficas 2015
Rdn 080 2015-bnp guía y embalaje de colecciones bibliográficas 2015
 
GEI digital - Aufbau einer fachlichen Digitalisierungsplattform für externe D...
GEI digital - Aufbau einer fachlichen Digitalisierungsplattform für externe D...GEI digital - Aufbau einer fachlichen Digitalisierungsplattform für externe D...
GEI digital - Aufbau einer fachlichen Digitalisierungsplattform für externe D...
 
Tisha and Terri
Tisha and TerriTisha and Terri
Tisha and Terri
 
Fmi
FmiFmi
Fmi
 
Milaapfundraiser
MilaapfundraiserMilaapfundraiser
Milaapfundraiser
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Tesis de lamadrid
Tesis   de lamadridTesis   de lamadrid
Tesis de lamadrid
 

Similar a Tutorial

De los temas de android (introduccion-10)
De los temas de android (introduccion-10)De los temas de android (introduccion-10)
De los temas de android (introduccion-10)
equipotresamp
 
Adelanto de los temas de android (introduccion-10)
Adelanto de los temas de android (introduccion-10)Adelanto de los temas de android (introduccion-10)
Adelanto de los temas de android (introduccion-10)equipotresamp
 
como insertar imagen a una aplicación android de java.
como insertar imagen a una aplicación android de java.como insertar imagen a una aplicación android de java.
como insertar imagen a una aplicación android de java.
RosaCGlez
 
IOF Labs Weekend - Android (27082011)
IOF Labs Weekend - Android (27082011)IOF Labs Weekend - Android (27082011)
IOF Labs Weekend - Android (27082011)
repcax
 
Manos a la obra con java y eclipse
Manos a la obra con java y eclipseManos a la obra con java y eclipse
Manos a la obra con java y eclipsegrachika
 
Manos a la obra con java y eclipse.
Manos a la obra con java y eclipse.Manos a la obra con java y eclipse.
Manos a la obra con java y eclipse.grachika
 
Programación en Android 1 capítulo. Introducción
Programación en Android 1 capítulo. IntroducciónProgramación en Android 1 capítulo. Introducción
Programación en Android 1 capítulo. Introducción
Horacio Maldonado Sea
 
List view CGCS
List view CGCSList view CGCS
List view CGCS
Christian Carrera
 
Atix12
Atix12Atix12
Atix12
atixlibre
 
Ingeniería inversa básica en android tomo ii
Ingeniería inversa básica en android tomo iiIngeniería inversa básica en android tomo ii
Ingeniería inversa básica en android tomo iiFreelance
 
Como insertar una imagen en eclipse java
Como insertar una imagen en eclipse javaComo insertar una imagen en eclipse java
Como insertar una imagen en eclipse java
Josué Naquid
 
Como insertar una imagen en eclipse
Como insertar una imagen en eclipseComo insertar una imagen en eclipse
Como insertar una imagen en eclipse
jaquiiMc
 
Como insertar una imagen
Como insertar una imagenComo insertar una imagen
Como insertar una imagen
FANY_RDZ98
 
Tutorial android fundamentos
Tutorial android fundamentosTutorial android fundamentos
Tutorial android fundamentos
Victor Chalian
 
Investigacion para agregar una imagen a eclipse
Investigacion para agregar una imagen a eclipseInvestigacion para agregar una imagen a eclipse
Investigacion para agregar una imagen a eclipse
Lucero De La Cruz
 
Investigacion para agregar una imagen a eclipse
Investigacion para agregar una imagen a eclipseInvestigacion para agregar una imagen a eclipse
Investigacion para agregar una imagen a eclipse
Lucero De La Cruz
 
Cetis 109(2)
Cetis 109(2)Cetis 109(2)
Cetis 109(2)
Jesus Vera
 

Similar a Tutorial (20)

De los temas de android (introduccion-10)
De los temas de android (introduccion-10)De los temas de android (introduccion-10)
De los temas de android (introduccion-10)
 
Adelanto de los temas de android (introduccion-10)
Adelanto de los temas de android (introduccion-10)Adelanto de los temas de android (introduccion-10)
Adelanto de los temas de android (introduccion-10)
 
como insertar imagen a una aplicación android de java.
como insertar imagen a una aplicación android de java.como insertar imagen a una aplicación android de java.
como insertar imagen a una aplicación android de java.
 
Como insertar una imagen
Como insertar una imagenComo insertar una imagen
Como insertar una imagen
 
IOF Labs Weekend - Android (27082011)
IOF Labs Weekend - Android (27082011)IOF Labs Weekend - Android (27082011)
IOF Labs Weekend - Android (27082011)
 
Manos a la obra con java y eclipse
Manos a la obra con java y eclipseManos a la obra con java y eclipse
Manos a la obra con java y eclipse
 
Manos a la obra con java y eclipse.
Manos a la obra con java y eclipse.Manos a la obra con java y eclipse.
Manos a la obra con java y eclipse.
 
Programación en Android 1 capítulo. Introducción
Programación en Android 1 capítulo. IntroducciónProgramación en Android 1 capítulo. Introducción
Programación en Android 1 capítulo. Introducción
 
List view CGCS
List view CGCSList view CGCS
List view CGCS
 
Atix12
Atix12Atix12
Atix12
 
Ingeniería inversa básica en android tomo ii
Ingeniería inversa básica en android tomo iiIngeniería inversa básica en android tomo ii
Ingeniería inversa básica en android tomo ii
 
Como insertar una imagen en eclipse java
Como insertar una imagen en eclipse javaComo insertar una imagen en eclipse java
Como insertar una imagen en eclipse java
 
Como insertar una imagen en eclipse
Como insertar una imagen en eclipseComo insertar una imagen en eclipse
Como insertar una imagen en eclipse
 
Como insertar una imagen
Como insertar una imagenComo insertar una imagen
Como insertar una imagen
 
Tutorial android fundamentos
Tutorial android fundamentosTutorial android fundamentos
Tutorial android fundamentos
 
Investigacion para agregar una imagen a eclipse
Investigacion para agregar una imagen a eclipseInvestigacion para agregar una imagen a eclipse
Investigacion para agregar una imagen a eclipse
 
Investigacion para agregar una imagen a eclipse
Investigacion para agregar una imagen a eclipseInvestigacion para agregar una imagen a eclipse
Investigacion para agregar una imagen a eclipse
 
Ambiente programacion en_android
Ambiente programacion en_androidAmbiente programacion en_android
Ambiente programacion en_android
 
Cetis 109
Cetis 109Cetis 109
Cetis 109
 
Cetis 109(2)
Cetis 109(2)Cetis 109(2)
Cetis 109(2)
 

Más de elidetjc

Programa de eclipse
Programa de eclipsePrograma de eclipse
Programa de eclipse
elidetjc
 
Codigos
CodigosCodigos
Codigos
elidetjc
 
Programa 2
Programa 2 Programa 2
Programa 2
elidetjc
 
Programa 1
Programa 1Programa 1
Programa 1
elidetjc
 
Enmuladores
EnmuladoresEnmuladores
Enmuladores
elidetjc
 
Preguntas 60
Preguntas 60Preguntas 60
Preguntas 60
elidetjc
 
Examen de diagnostico_de_moviles
Examen de diagnostico_de_movilesExamen de diagnostico_de_moviles
Examen de diagnostico_de_moviles
elidetjc
 
Joselyn lizbeth balderas_aguirre
Joselyn lizbeth balderas_aguirreJoselyn lizbeth balderas_aguirre
Joselyn lizbeth balderas_aguirre
elidetjc
 
Examen de diagnostico_de_moviles_2_22
Examen de diagnostico_de_moviles_2_22Examen de diagnostico_de_moviles_2_22
Examen de diagnostico_de_moviles_2_22
elidetjc
 
Examen de diagnostico_de_moviles2
Examen de diagnostico_de_moviles2Examen de diagnostico_de_moviles2
Examen de diagnostico_de_moviles2
elidetjc
 
Preguntas602
Preguntas602Preguntas602
Preguntas602
elidetjc
 
Presentacion de power_de_emuladores2
Presentacion de power_de_emuladores2Presentacion de power_de_emuladores2
Presentacion de power_de_emuladores2
elidetjc
 
Ejem8
Ejem8Ejem8
Ejem8
elidetjc
 
sooooooooooooooooooffff
sooooooooooooooooooffffsooooooooooooooooooffff
sooooooooooooooooooffff
elidetjc
 
software
softwaresoftware
software
elidetjc
 
Ejem5
Ejem5Ejem5
Ejem5
elidetjc
 
Loo toy
Loo toyLoo toy
Loo toy
elidetjc
 
Cuestionario prgts
Cuestionario prgtsCuestionario prgts
Cuestionario prgts
elidetjc
 
Ejemplo 4
Ejemplo 4Ejemplo 4
Ejemplo 4
elidetjc
 
Ejemplo 4
Ejemplo 4Ejemplo 4
Ejemplo 4
elidetjc
 

Más de elidetjc (20)

Programa de eclipse
Programa de eclipsePrograma de eclipse
Programa de eclipse
 
Codigos
CodigosCodigos
Codigos
 
Programa 2
Programa 2 Programa 2
Programa 2
 
Programa 1
Programa 1Programa 1
Programa 1
 
Enmuladores
EnmuladoresEnmuladores
Enmuladores
 
Preguntas 60
Preguntas 60Preguntas 60
Preguntas 60
 
Examen de diagnostico_de_moviles
Examen de diagnostico_de_movilesExamen de diagnostico_de_moviles
Examen de diagnostico_de_moviles
 
Joselyn lizbeth balderas_aguirre
Joselyn lizbeth balderas_aguirreJoselyn lizbeth balderas_aguirre
Joselyn lizbeth balderas_aguirre
 
Examen de diagnostico_de_moviles_2_22
Examen de diagnostico_de_moviles_2_22Examen de diagnostico_de_moviles_2_22
Examen de diagnostico_de_moviles_2_22
 
Examen de diagnostico_de_moviles2
Examen de diagnostico_de_moviles2Examen de diagnostico_de_moviles2
Examen de diagnostico_de_moviles2
 
Preguntas602
Preguntas602Preguntas602
Preguntas602
 
Presentacion de power_de_emuladores2
Presentacion de power_de_emuladores2Presentacion de power_de_emuladores2
Presentacion de power_de_emuladores2
 
Ejem8
Ejem8Ejem8
Ejem8
 
sooooooooooooooooooffff
sooooooooooooooooooffffsooooooooooooooooooffff
sooooooooooooooooooffff
 
software
softwaresoftware
software
 
Ejem5
Ejem5Ejem5
Ejem5
 
Loo toy
Loo toyLoo toy
Loo toy
 
Cuestionario prgts
Cuestionario prgtsCuestionario prgts
Cuestionario prgts
 
Ejemplo 4
Ejemplo 4Ejemplo 4
Ejemplo 4
 
Ejemplo 4
Ejemplo 4Ejemplo 4
Ejemplo 4
 

Tutorial

  • 1. TUTORIAL Creando un nuevo proyecto La mejor forma de conocer un sistema es probándolo asi que vamos a crear el proyecto y por el camino vamos explicando cómo funciona Android. Una vez instalado el plugin, creamos el nuevo proyecto de Android (File > New > Project > Android Project). Damos a siguiente:
  • 2.  Project name: HolaMundo  Package name: com.example.holamundo  Create Activity: HolaMundo  Application name: Hola Mundo Aunque he puesto los mismos nombres en los 4 sitios no tiene por qué coincidir, como sabréis. El nombre de la aplicación es lo que veréis en el móvil, las actividades son los controladores de Android, el nombre del paquete es algo interno y el proyecto es lo que veréis en Eclipse. Finalizamos y podremos ver el siguiente árbol de archivos
  • 3. Voy a explicar la estructura:  /src – Aquí se encuentran las actividades (controladores recuerdo), clases y un archivo que se llama R.java. Este archivo no se debe tocar nunca, Android lo actualiza automáticamente pero si lo veis os encontraréis con variables y posiciones.  /Android Library – Eclipse referencia al sdk de Android. No mováis nunca el sdk de sitio o si lo hacéis recordad cambiar la dirección  /assets – Aquí se puede incluir archivos varios (música, pdfs, zips, rars)  /res/drawable – Todas las imágenes van en este directorio  /res/layout – Todas las vistas van aquí  /res/values – En el archivo strings.xml podemosponer variables que luego sustituiremos en las vistas
  • 4.  AndroidManifest.xml – Este archivo es muy importante porque recoge todas las actividades y algunas configuraciones del proyecto. Antes de seguir vamos a ejecutar el proyecto, y para eso damos a Run As y elegimos Android Application. Si instalasteis todo bien saldrá el emulador, cargando iniciando Android (tarda un poquito). Lo desbloqueamos dando a Menú, y ya puedes ver la aplicación más básica que se hace en todos los lenguajes, nuestro Hola Mundo.
  • 5. Si quieres puedes investigar los programas que trae el emulador, está bastante bien conseguido;aunque para mi gusto faltan varios detalles como girar el teléfono en posición horizontal. A continuación veremos cómo ha funcionado el programa. Entendiendo el Hola Mundo Gracias al plugin de Android, no hemos programado nada y ya tenemos el programa básico. Pero como hemos visto antes en la estructura, se han creado unos cuantos archivos. Vamos a ir paso a paso por cada uno de ellos. ? 01 02 // AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?>
  • 6. 03 04 05 06 07 08 09 10 11 12 13 14 15 16 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.holamundo" android:versionCode="1" android:versionName="1.0.0"> <application android:icon="@drawable/icon" android:label="@string/app_name <activity android:name=".HolaMundo" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /&gt </intent-filter> </activity> </application> </manifest> Supongo que estaréis familiarizados con xml, si no, no os preocupéis, es muy fácil de entender. Podemos ver como crea un manifesto con el paquete y la versión de Android. Contiene la aplicación que hemos creado. android:icon="@drawable/icon"coge la imagen llamada icon.png del directorio /res/drawables y la asigna como icono. Esto es lo que véis en el menú de aplicaciones. Lo mismo sucede conandroid:label="@string/app_name", sustituye la variable app_name por su valor en el archivo: ? 1 2 3 4 5 6 // res/values/strings.xml <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, HolaMundo</string> <string name="app_name">Hola Mundo</string> </resources>
  • 7. Volviendo a AndroidManifest.xml, vemos que dentro de application se encuentra la actividad principal android:name=".HolaMundo", que corresponde con un punto más el nombre de la clase java en src/com.example.holamundo.El resto son detalles más profundos. Asi que Android ejecuta esa clase, vamos a verla: ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 // src/com.example.holamundo/HolaMundo.java package com.example.holamundo; import android.app.Activity; import android.os.Bundle; public class HolaMundo extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { // Inicializa la actividad super.onCreate(savedInstanceState); // Asignamos la vista setContentView(R.layout.main); } } Crea una actividad llamada HolaMundo con un único método que sobreescribe al de la clase que extiende. Vemos como setContentView pasa como parámetro R.layout.main que representa a /res/layout/main.xml.Pero como dije antes, todo las referencias a archivos y variables pasan por la clase R.java que Android se encarga de ajustar automáticamente. Veamos la vista ?
  • 8. 01 02 03 04 05 06 07 08 09 10 11 12 13 // res/layout/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" android:text="@string/hello" /> </LinearLayout> Como podéis ver vuelve a ser un xml y es que Google ha elegido usar xml para representar las vistas. LinearLayout es un tipo de layout que muestra los elementos uno debajo de otro. Tiene orientación vertical y ocupa toda la pantalla tanto a lo alto como a lo ancho. Dentro podemos ver un campo de texto (TextView) cuyo texto se encuentra en el archivostrings.xml visto antes. Finalizando Hemos visto paso por paso lo que hace Android para ejecutar un sencillo Hola Mundo. Lo importante es:  AndroidManifest.xml contiene todas las actividades indicando cuál se ejecuta primero.  Todas las actividades y clases se encuentran en src. La actividad HolaMundo usa el layout main.xml  Todos los layouts están en res/layout.Se programan en xml siguiendo las etiquetas del SDK de Android.
  • 9.  En cualquier sitio podemos referenciar a variables del fichero strings.xml. Esto es muy útil para aplicaciones en varios idiomas.