SlideShare una empresa de Scribd logo
1 de 30
Introducción a Android 
Por Gonzalo Toledano y David Luque
Conceptos 
fundamentales 
Gonzalo Toledano - David 
Luque
Cada capa usa servicios de las anteriores 
Gonzalo Toledano - David 
Luque 
Kernel de Android
Kernel 
● Kernel Linux → proporciona la abstracción para mayor 
portabilidad 
● Gestión interna (memoria, proceso, operaciones de red 
y demás) con Linux. 
● El núcleo no es accesible por el usuario. 
● El núcleo abstrae de las capas de arquitectura. 
● El kernel se encarga de gestionar los recursos del 
teléfono 
Gonzalo Toledano - David 
Luque
Estructura de aplicaciones 
La estructura viene preinstalada en el sistema pero se puede modificar. Los 
elementos más importante son: 
● Gestor de actividad: controla el ciclo de vida de la aplicación (muy 
importante) y mantiene un orden de aplicaciones para poder navegar entre 
ellas. 
● Proveedor de contenido (content providers): estos encapsulan información 
para compartirla con otras aplicaciones. 
● Gestor de recursos: El recurso es cualquier contenido incluido en la 
aplicación que no es código. 
● Gestor de notificaciones: eventos varios que son mostrados al usuario. 
Gonzalo Toledano - David 
Luque
Funcionamiento de Android 
En el sistema hay una aplicación en primer plano que, 
normalmente, ocupa toda la pantalla, a veces incluso la 
barra de estado. 
Una vez que el usuario inicia una, se pone en primer plano. 
El usuario puede abrir otras o nuevas pantallas en la 
aplicación. 
Estos programas o pantallas se almacenan en una pila 
para poder proporcionar utilidad de volver. 
Gonzalo Toledano - David 
Luque
Proceso vs Aplicación 
Internamente, las aplicaciones se componen de 
Actividades (Activity). Una aplicación es un conjunto de 
Actividades más un proceso. 
Los procesos son contenedores desechables de 
actividades. 
Gonzalo Toledano - David 
Luque
Activities 
● Una actividad es una pantalla de la interfaz de usuario. 
● Se pueden usar una o varias para diferentes partes del 
programa. Cada una es responsable de guardar su 
estado para reestablecerlo más adelante. 
● Las actividades heredan de Context. 
Gonzalo Toledano - David 
Luque
Fases ciclo de vida 
● onCreate(Bundle): se llama cuando se inicia la actividad por 
primera vez. Normalmente se usa para inicializaciones. 
● onStart(): indica que va a ser mostrada al usuario 
● onResumen(): cuando puede empezar a interactuar con el 
usuario. 
● onPause(): cuando va a pasar a segundo plano. Guardar 
estado. 
● onStop(): no es visible para el usuario y no se mostrará en 
un tiempo. 
● onRestart(): se está volviendo a mostrar. 
● onDestroy(): se llama para destruir la aplicación. 
● onSaveInstanceState(Bundle): permite guardar el estado de 
la instancia (un texto o datos en pantalla). 
Gonzalo Toledano - David 
Luque
Gonzalo Toledano - David 
Luque
Intents 
● Mecanismo para describir una acción específica (por 
ejemplo abrir otra actividad o un Fragment). 
● Prácticamente todo funciona con intenciones (Intent). 
Gonzalo Toledano - David 
Luque
Services 
● Tarea que se ejecuta en segundo plano sin la intención 
del usuario (algo como un demonio en Linux). 
● Android contiene múltiples servicios. 
Gonzalo Toledano - David 
Luque
Content Providers 
● Conjunto de datos envueltos en una API local a la que 
se puede acceder y leer (incluso hasta escribir). 
● Es un excelente método para compartir datos globales 
entre aplicaciones 
Ejemplo: la agenda del teléfono 
Gonzalo Toledano - David 
Luque
Recursos 
● Un recurso es cualquier contenido, exceptuando 
código, que necesite el programa. Ej: iconos. 
● Se almacenan en la carpeta /res del proyecto. 
● El compilador de recursos comprime y etiqueta sus 
recursos y genera una clase llamada R que contiene 
los identificadores de los recursos (y cualquier 
contenido, como los TextView). 
IMPORTANTE: NO TOCAR ESTE ARCHIVO 
MANUALMENTE 
Gonzalo Toledano - David 
Luque
Gonzalo Toledano - David 
Luque 
AndroidManifest.xml 
● Es un archivo básico, para determinar ciertos criterios 
de configuración. Podemos administrar permisos, 
número de la API, mínima versión requerida... 
● Cualquier Activity que creemos en Java, debe ir aquí 
definida sino tendremos error de compilación.
Elementos de un 
proyecto 
Gonzalo Toledano - David 
Luque
Elementos básicos 
● /src: contiene el código fuente Java 
● /gen: código generado de forma automática por el SDK. No modificar 
(contiene R). En Android Studio está oculto. 
● /android x.x: API de Android. 
● /assets: puede contener de forma arbitraria archivos para utilizarlos en la 
aplicación. No se puede modificar. 
● /res: recursos que se usan en la aplicación. 
o drawable: iconos de la aplicación. 
o layout: archivos .xml con las vistas de la aplicación. 
o menú: archivos .xml para los menús. 
o anim: descriptores de animaciones. 
o xml: otros archivos XML. 
Gonzalo Toledano - David 
Luque
Diseñando una interfaz 
Gonzalo Toledano - David 
Luque
Tipos de interfaces 
● Procedimental: a través de código → Java 
● Declarativo: mediante unos archivos 
layout.xml que describen lo que queremos 
ver en pantalla y no como hacerlo. 
Podemos usar los dos, declarando 
componentes en XML y dándole contenido en 
Java. 
Gonzalo Toledano - David 
Luque
Tipos de interfaces 
Google recomienda usar XML por dos 
cuestiones: 
● Mucho más sencillo que Java. 
● Tiene menos probabilidad a cambiar en un 
futuro. 
Gonzalo Toledano - David 
Luque
Estilos y temas 
Un estilo es una colección de propiedades que 
definen el formato de una vista. 
res/values/style.xm 
l 
res/layout/activity_principal.x 
ml 
Gonzalo Toledano - David 
Luque
Resoluciones e id’s 
Android soporta varios tipos de resoluciones: 
● px: pixeles. 
● in (pulgadas): tamaños según una regla. 
● mm (milímetros): tamaño según una regla. 
● pt (puntos): 1/72 de una pulgada. 
● dp (píxeles independientes de densidad): unidad abstracta basada en la 
densidad de pantalla. 
● dip: es un sinónimo de dp, usado en ejemplos de Google. 
● sp (píxeles independientes de escala): similar a dp. 
Recomendación personal: dp y dip. Son mucho más fáciles de usar y más 
estándar. 
Gonzalo Toledano - David 
Luque
Resoluciones e id’s 
Las id’s identifican a los componentes de la pantalla en la aplicación y 
en el código. 
Las id’s se almacenan en la clase R. Se pueden llamar desde Java 
(R.elemento) para introducir texto o modificar el contenido. 
Para declarar uno nuevo esta es la nomenclatura: 
@+id/identificador 
Así podremos llamarla desde Java de la siguiente: R.identificador. 
Gonzalo Toledano - David 
Luque
Nombres 
El nombre o texto que queramos mostrar en 
pantalla se definen en el archivo 
/res/values/string.xml 
/res/values/string.xml 
/res/layout/principal.xml 
Gonzalo Toledano - David 
Luque
Ejemplo: Nueva ventana 
Para el primer ejemplo, imaginemos que 
queremos que nuestra app tenga una ventana 
nueva con nuestros datos. 
Usaremos el botón creado antes. 
Hay otras dos formas: usando la clase 
AlertDialog y otra subclase de Dialog. 
Gonzalo Toledano - David 
Luque
Ejemplo: Nueva ventana 
Ahora creamos un elemento string con los 
datos que queremos mostrar. 
En Java creamos una clase About.java. 
En /res/layout creamos un archivo about.xml 
Gonzalo Toledano - David 
Luque
Ejemplo: Nueva ventana 
La clase en Java quedará de esta forma: 
Gonzalo Toledano - David 
Luque
Ejemplo: Nueva ventana 
Ahora hay que definir los escuchadores. Los 
escuchadores son los encargados de recibir los 
“click” con nuestro dedo. 
Gonzalo Toledano - David 
Luque
Ejemplo: Nueva ventana 
Por último queda dar de alta la actividad en el 
AndroidManifest.xml. 
Gonzalo Toledano - David 
Luque
Eso es todo...por ahora 
Gonzalo Toledano - David 
Luque

Más contenido relacionado

La actualidad más candente

Diseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosDiseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosJosue Sarabia
 
Introduccion a la POO
Introduccion a la POOIntroduccion a la POO
Introduccion a la POOLibertad25
 
Intro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en OlotIntro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en Olothojalataverde
 

La actualidad más candente (8)

Diseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosDiseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetos
 
Introduccion a la POO
Introduccion a la POOIntroduccion a la POO
Introduccion a la POO
 
PRESENTACION
PRESENTACIONPRESENTACION
PRESENTACION
 
Programacion visual
Programacion visualProgramacion visual
Programacion visual
 
Intro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en OlotIntro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en Olot
 
Programacion orientada a objetos Java
Programacion orientada a objetos JavaProgramacion orientada a objetos Java
Programacion orientada a objetos Java
 
Swing
SwingSwing
Swing
 
Actividad 11
Actividad 11Actividad 11
Actividad 11
 

Similar a Introducción a Android: Arquitectura, Componentes y Diseño de Interfaces

Aplicaciones android
Aplicaciones androidAplicaciones android
Aplicaciones androidedwin
 
Tema 4 3_1_interfaces_de_usuario
Tema 4 3_1_interfaces_de_usuarioTema 4 3_1_interfaces_de_usuario
Tema 4 3_1_interfaces_de_usuarioCarlos A. Iglesias
 
Como insertar una imagen
Como insertar una imagenComo insertar una imagen
Como insertar una imagenFANY_RDZ98
 
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
 
Presentacion android mistela&tweets
Presentacion android mistela&tweetsPresentacion android mistela&tweets
Presentacion android mistela&tweetsJorge Soro
 
Introducción a Android
Introducción a AndroidIntroducción a Android
Introducción a Androidmcanalesc94
 
Mdw guia-android-1.3
Mdw guia-android-1.3Mdw guia-android-1.3
Mdw guia-android-1.3ERWIN AGUILAR
 
Curso android desarrollo de aplicaciones moviles
Curso android   desarrollo de aplicaciones movilesCurso android   desarrollo de aplicaciones moviles
Curso android desarrollo de aplicaciones movilesJose Antonio Prieto
 
Resumen el gran libro de andorid
Resumen el gran libro de andoridResumen el gran libro de andorid
Resumen el gran libro de andoridJilton Delgado
 
Maestrosdelweb guia-android
Maestrosdelweb guia-androidMaestrosdelweb guia-android
Maestrosdelweb guia-androidNilson Gongora
 
Mdw guia-android-1.3
Mdw guia-android-1.3Mdw guia-android-1.3
Mdw guia-android-1.3ERWIN AGUILAR
 
Mdw guia-android-1.3
Mdw guia-android-1.3Mdw guia-android-1.3
Mdw guia-android-1.3Leo31146695
 
Maestrosdelweb guia-android
Maestrosdelweb guia-androidMaestrosdelweb guia-android
Maestrosdelweb guia-androidCarlitos Sosa
 

Similar a Introducción a Android: Arquitectura, Componentes y Diseño de Interfaces (20)

Aplicaciones android
Aplicaciones androidAplicaciones android
Aplicaciones android
 
Tema 4 3_1_interfaces_de_usuario
Tema 4 3_1_interfaces_de_usuarioTema 4 3_1_interfaces_de_usuario
Tema 4 3_1_interfaces_de_usuario
 
Tema 4.3 Ejemplo sobre teleco
Tema 4.3 Ejemplo sobre telecoTema 4.3 Ejemplo sobre teleco
Tema 4.3 Ejemplo sobre teleco
 
Como insertar una imagen
Como insertar una imagenComo insertar una imagen
Como insertar una imagen
 
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.
 
Manual android
Manual androidManual android
Manual android
 
Presentacion android mistela&tweets
Presentacion android mistela&tweetsPresentacion android mistela&tweets
Presentacion android mistela&tweets
 
Introducción a Android
Introducción a AndroidIntroducción a Android
Introducción a Android
 
Mdw guia-android-1.3
Mdw guia-android-1.3Mdw guia-android-1.3
Mdw guia-android-1.3
 
Curso android desarrollo de aplicaciones moviles
Curso android   desarrollo de aplicaciones movilesCurso android   desarrollo de aplicaciones moviles
Curso android desarrollo de aplicaciones moviles
 
Clases de Programación Android
Clases de Programación AndroidClases de Programación Android
Clases de Programación Android
 
Act 5.1
Act 5.1Act 5.1
Act 5.1
 
Act 5.1
Act 5.1Act 5.1
Act 5.1
 
Resumen el gran libro de andorid
Resumen el gran libro de andoridResumen el gran libro de andorid
Resumen el gran libro de andorid
 
Maestrosdelweb guia-android
Maestrosdelweb guia-androidMaestrosdelweb guia-android
Maestrosdelweb guia-android
 
Mdw guia-android-1.3
Mdw guia-android-1.3Mdw guia-android-1.3
Mdw guia-android-1.3
 
Guía Android
Guía AndroidGuía Android
Guía Android
 
Mdw guia-android-1.3
Mdw guia-android-1.3Mdw guia-android-1.3
Mdw guia-android-1.3
 
Mdw guia-android
Mdw guia-androidMdw guia-android
Mdw guia-android
 
Maestrosdelweb guia-android
Maestrosdelweb guia-androidMaestrosdelweb guia-android
Maestrosdelweb guia-android
 

Introducción a Android: Arquitectura, Componentes y Diseño de Interfaces

  • 1. Introducción a Android Por Gonzalo Toledano y David Luque
  • 2. Conceptos fundamentales Gonzalo Toledano - David Luque
  • 3. Cada capa usa servicios de las anteriores Gonzalo Toledano - David Luque Kernel de Android
  • 4. Kernel ● Kernel Linux → proporciona la abstracción para mayor portabilidad ● Gestión interna (memoria, proceso, operaciones de red y demás) con Linux. ● El núcleo no es accesible por el usuario. ● El núcleo abstrae de las capas de arquitectura. ● El kernel se encarga de gestionar los recursos del teléfono Gonzalo Toledano - David Luque
  • 5. Estructura de aplicaciones La estructura viene preinstalada en el sistema pero se puede modificar. Los elementos más importante son: ● Gestor de actividad: controla el ciclo de vida de la aplicación (muy importante) y mantiene un orden de aplicaciones para poder navegar entre ellas. ● Proveedor de contenido (content providers): estos encapsulan información para compartirla con otras aplicaciones. ● Gestor de recursos: El recurso es cualquier contenido incluido en la aplicación que no es código. ● Gestor de notificaciones: eventos varios que son mostrados al usuario. Gonzalo Toledano - David Luque
  • 6. Funcionamiento de Android En el sistema hay una aplicación en primer plano que, normalmente, ocupa toda la pantalla, a veces incluso la barra de estado. Una vez que el usuario inicia una, se pone en primer plano. El usuario puede abrir otras o nuevas pantallas en la aplicación. Estos programas o pantallas se almacenan en una pila para poder proporcionar utilidad de volver. Gonzalo Toledano - David Luque
  • 7. Proceso vs Aplicación Internamente, las aplicaciones se componen de Actividades (Activity). Una aplicación es un conjunto de Actividades más un proceso. Los procesos son contenedores desechables de actividades. Gonzalo Toledano - David Luque
  • 8. Activities ● Una actividad es una pantalla de la interfaz de usuario. ● Se pueden usar una o varias para diferentes partes del programa. Cada una es responsable de guardar su estado para reestablecerlo más adelante. ● Las actividades heredan de Context. Gonzalo Toledano - David Luque
  • 9. Fases ciclo de vida ● onCreate(Bundle): se llama cuando se inicia la actividad por primera vez. Normalmente se usa para inicializaciones. ● onStart(): indica que va a ser mostrada al usuario ● onResumen(): cuando puede empezar a interactuar con el usuario. ● onPause(): cuando va a pasar a segundo plano. Guardar estado. ● onStop(): no es visible para el usuario y no se mostrará en un tiempo. ● onRestart(): se está volviendo a mostrar. ● onDestroy(): se llama para destruir la aplicación. ● onSaveInstanceState(Bundle): permite guardar el estado de la instancia (un texto o datos en pantalla). Gonzalo Toledano - David Luque
  • 10. Gonzalo Toledano - David Luque
  • 11. Intents ● Mecanismo para describir una acción específica (por ejemplo abrir otra actividad o un Fragment). ● Prácticamente todo funciona con intenciones (Intent). Gonzalo Toledano - David Luque
  • 12. Services ● Tarea que se ejecuta en segundo plano sin la intención del usuario (algo como un demonio en Linux). ● Android contiene múltiples servicios. Gonzalo Toledano - David Luque
  • 13. Content Providers ● Conjunto de datos envueltos en una API local a la que se puede acceder y leer (incluso hasta escribir). ● Es un excelente método para compartir datos globales entre aplicaciones Ejemplo: la agenda del teléfono Gonzalo Toledano - David Luque
  • 14. Recursos ● Un recurso es cualquier contenido, exceptuando código, que necesite el programa. Ej: iconos. ● Se almacenan en la carpeta /res del proyecto. ● El compilador de recursos comprime y etiqueta sus recursos y genera una clase llamada R que contiene los identificadores de los recursos (y cualquier contenido, como los TextView). IMPORTANTE: NO TOCAR ESTE ARCHIVO MANUALMENTE Gonzalo Toledano - David Luque
  • 15. Gonzalo Toledano - David Luque AndroidManifest.xml ● Es un archivo básico, para determinar ciertos criterios de configuración. Podemos administrar permisos, número de la API, mínima versión requerida... ● Cualquier Activity que creemos en Java, debe ir aquí definida sino tendremos error de compilación.
  • 16. Elementos de un proyecto Gonzalo Toledano - David Luque
  • 17. Elementos básicos ● /src: contiene el código fuente Java ● /gen: código generado de forma automática por el SDK. No modificar (contiene R). En Android Studio está oculto. ● /android x.x: API de Android. ● /assets: puede contener de forma arbitraria archivos para utilizarlos en la aplicación. No se puede modificar. ● /res: recursos que se usan en la aplicación. o drawable: iconos de la aplicación. o layout: archivos .xml con las vistas de la aplicación. o menú: archivos .xml para los menús. o anim: descriptores de animaciones. o xml: otros archivos XML. Gonzalo Toledano - David Luque
  • 18. Diseñando una interfaz Gonzalo Toledano - David Luque
  • 19. Tipos de interfaces ● Procedimental: a través de código → Java ● Declarativo: mediante unos archivos layout.xml que describen lo que queremos ver en pantalla y no como hacerlo. Podemos usar los dos, declarando componentes en XML y dándole contenido en Java. Gonzalo Toledano - David Luque
  • 20. Tipos de interfaces Google recomienda usar XML por dos cuestiones: ● Mucho más sencillo que Java. ● Tiene menos probabilidad a cambiar en un futuro. Gonzalo Toledano - David Luque
  • 21. Estilos y temas Un estilo es una colección de propiedades que definen el formato de una vista. res/values/style.xm l res/layout/activity_principal.x ml Gonzalo Toledano - David Luque
  • 22. Resoluciones e id’s Android soporta varios tipos de resoluciones: ● px: pixeles. ● in (pulgadas): tamaños según una regla. ● mm (milímetros): tamaño según una regla. ● pt (puntos): 1/72 de una pulgada. ● dp (píxeles independientes de densidad): unidad abstracta basada en la densidad de pantalla. ● dip: es un sinónimo de dp, usado en ejemplos de Google. ● sp (píxeles independientes de escala): similar a dp. Recomendación personal: dp y dip. Son mucho más fáciles de usar y más estándar. Gonzalo Toledano - David Luque
  • 23. Resoluciones e id’s Las id’s identifican a los componentes de la pantalla en la aplicación y en el código. Las id’s se almacenan en la clase R. Se pueden llamar desde Java (R.elemento) para introducir texto o modificar el contenido. Para declarar uno nuevo esta es la nomenclatura: @+id/identificador Así podremos llamarla desde Java de la siguiente: R.identificador. Gonzalo Toledano - David Luque
  • 24. Nombres El nombre o texto que queramos mostrar en pantalla se definen en el archivo /res/values/string.xml /res/values/string.xml /res/layout/principal.xml Gonzalo Toledano - David Luque
  • 25. Ejemplo: Nueva ventana Para el primer ejemplo, imaginemos que queremos que nuestra app tenga una ventana nueva con nuestros datos. Usaremos el botón creado antes. Hay otras dos formas: usando la clase AlertDialog y otra subclase de Dialog. Gonzalo Toledano - David Luque
  • 26. Ejemplo: Nueva ventana Ahora creamos un elemento string con los datos que queremos mostrar. En Java creamos una clase About.java. En /res/layout creamos un archivo about.xml Gonzalo Toledano - David Luque
  • 27. Ejemplo: Nueva ventana La clase en Java quedará de esta forma: Gonzalo Toledano - David Luque
  • 28. Ejemplo: Nueva ventana Ahora hay que definir los escuchadores. Los escuchadores son los encargados de recibir los “click” con nuestro dedo. Gonzalo Toledano - David Luque
  • 29. Ejemplo: Nueva ventana Por último queda dar de alta la actividad en el AndroidManifest.xml. Gonzalo Toledano - David Luque
  • 30. Eso es todo...por ahora Gonzalo Toledano - David Luque