SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Análisis y Diseño
      de Software

Desarrollo con Android
Framework Android



                    Carlos A. Iglesias <cif@gsi.dit.upm.es>
   Departamento de Ingeniería de Sistemas Telemáticos
                               http://moodle.dit.upm.es
Leyenda
Teoría


Ejercicio práctico en el ordenador


Ampliación de conocimientos


Lectura / Vídeo / Podcast


Práctica libre / Experimentación



                    Desarrollo con Android   2
Temario
● 4.1   Introducción a Android [Gar10, cap1-2 ]
● 4.2   Desarrollo con Android [Gar10, cap3-5]
  –   4.2.1. Instalación [Gar10,cap3]
  –   4.2.2. Framework Android [Gar10,cap4]
● 4.3   Interfaces de Usuario [Gar10, cap6]
● 4.4   Intenciones y Servicios [Gar10, cap7-8]
● 4.5   Acceso a Datos [Gar10, cap9]




                                Desarrollo con Android   3
Bibliografía
●   Libro de texto:
– [Gar10] Learning Android, Marko Gargenta,
    O'Reilly, 2010. Disponible en
    http://ofps.oreilly.com/titles/9781449390501/
–   Capítulos 4-5
–   http://www.youtube.com/watch?v=SW82-YOOMIs
●   Android Developers
–   http://developer.android.com/guide/topics/fundamentals
    .html

                                Introducción a Android       4
Bibliografía complementaria
●Hello Android, E. Burnette, The Pragmatic
Bookshelf, 3rd Edition, 2008. Capítulo 2.




●http://www.maestrosdelweb.com/editorial/c
urso-android-construir-lector-de-feeds/
                       Desarrollo con Android   5
Objetivos
● Aprender cuáles son los bloques de una
aplicación en Android
● Comprender los ciclos de vida de
actividades y servicios




                     Desarrollo con Android   6
Bloques de una aplicación
● Actividad   (Activity): cada pantalla de la aplicación
● Servicio (Service): una tarea que se ejecuta de fondo sin
interacción directa del usuario. P. ej. un temporizador
● Proveedor   de Contenidos (Content Provider):
interfaces para compartir datos entre aplicaciones
● Receptores    de difusión (Broadcast receivers):
mecanismo de comunicación por subscripción a eventos
(p.ej. Batería baja o captura realizada)




                                 Desarrollo con Android       7
Actividad
●Una   actividad representa una pantalla
● La pantalla inicial de la aplicación es la
'main' activity.
●Activity Manager: es el responsable del
ciclo de vida de la actividad (crear, parar,
…)
● Mantiene una pila de actividades
recientes

                        Desarrollo con Android   8
Ciclo de vida de una
      Actividad




           Desarrollo con Android   9
Ciclo de vida de un servicio




               Desarrollo con Android   10
Proveedor de contenidos
            ●Proporciona una
            API CRUD
            ● Mecanismo
            común para
            aplicaciones y para
            el sistema (settings,
            contactos, etc.)



            Desarrollo con Android   11
Receptores de difusión
            ● Sigue patrón
            publish/subscribe
            ●  El subscriptor
            tiene un método que
            se ejecuta cuando
            recibe el evento




            Desarrollo con Android   12
Contexto de Aplicación
● Todos los componentes de una
aplicación se ejecutan en un contexto de
aplicación
● El contexto de aplicación es el 'espacio
compartido' que les permite compartir datos
y recursos
● El CA se crea cuando se lanza el primer
componente de una aplicación


                      Desarrollo con Android   13
¿Quién controla?
● En programación tradicional, sabemos qué se
ejecuta a continuación
● En programación orientada a eventos, el
programador NO CONTROLA en qué estado
está el programa, es gestionado por el sistema
● Programamos   métodos (onCreate, onStart,
onResume, onPause, onStop) que se ejecutan
cuando se da el evento adecuado


                        Desarrollo con Android   14
Activando componentes
●En  Android, una aplicación puede activar una
actividad de otra aplicación. P. ej. una app
quiere capturar una pantalla
● Esto
     quiere decir que 'no hay un main':
podemos activar cada 'pantallla'
● Como   cada aplicación es un usuario/proceso
diferente, no podemos lanzarlo directamente: le
debemos pedir al sistema Android que lo haga,
enviando un mensaje llamado 'intención'

                        Desarrollo con Android    15
Intenciones (I)
● Intención (Intent): describe un tipo de
acción (seleccionar una foto, enviar un
correo, …)
● Las intenciones activan actividades,
servicios y receptores de difusión




                       Desarrollo con Android   16
Intenciones (II)
● Intención explícita: indicamos el
destinatario
●Intención  implícita: indicamos el tipo de
destinatario (p.ej. un editor, un navegador)




                       Desarrollo con Android   17
Patrón de Diseño
●   Es una solución a un problema concreto
●   Permite unificar la terminología
●   P.ej.
–   Problema: tener un objeto único de una clase
–   Solución: patrón Singleton




                           Desarrollo con Android   18
Patrón Publish-Subscribe
(Publicador/Subscriptor)




             Desarrollo con Android   19
Ejemplo Yamba




       Desarrollo con Android   20
Diagrama de Diseño




          Desarrollo con Android   21
Resumen
● Hemos  aprendido los principales componentes
de una aplicación: actividades, servicios,
proveedores de contenidos y receptores de
difusión
● Las   actividades y servicios tienen un ciclo de
vida
● Lasintenciones permiten que el sistema active
componentes
● El
   contexto de aplicación permite que los
componentes compartan datos y recursos
                            Desarrollo con Android   22
¿Preguntas?




      Desarrollo con Android   23

Contenu connexe

Similaire à Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Android 24 01 getting started with android
Android 24 01 getting started with androidAndroid 24 01 getting started with android
Android 24 01 getting started with android
Arturo Linares Valverde
 
Curso android desarrollo de aplicaciones moviles
Curso android   desarrollo de aplicaciones movilesCurso android   desarrollo de aplicaciones moviles
Curso android desarrollo de aplicaciones moviles
Jose Antonio Prieto
 
Presentacion android mistela&tweets
Presentacion android mistela&tweetsPresentacion android mistela&tweets
Presentacion android mistela&tweets
Jorge Soro
 

Similaire à Tema 4.2.2 Desarrollo con Android. El Framework de Android. (20)

Tema 4.1 Introduccion Android
Tema 4.1 Introduccion AndroidTema 4.1 Introduccion Android
Tema 4.1 Introduccion Android
 
Introducción a Android
Introducción a AndroidIntroducción a Android
Introducción a Android
 
Seminario Android inicial 2014
Seminario Android inicial 2014Seminario Android inicial 2014
Seminario Android inicial 2014
 
PRoYECTO::ISI::TECNOLOGÍAS DE DESARROLLO MÓVIL CON ANDROID SDK
PRoYECTO::ISI::TECNOLOGÍAS DE DESARROLLO MÓVIL CON ANDROID SDK PRoYECTO::ISI::TECNOLOGÍAS DE DESARROLLO MÓVIL CON ANDROID SDK
PRoYECTO::ISI::TECNOLOGÍAS DE DESARROLLO MÓVIL CON ANDROID SDK
 
Taller Práctico de Android
Taller Práctico de AndroidTaller Práctico de Android
Taller Práctico de Android
 
Android studio
Android studioAndroid studio
Android studio
 
Android Pres3
Android Pres3Android Pres3
Android Pres3
 
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
 
Android 24 01 getting started with android
Android 24 01 getting started with androidAndroid 24 01 getting started with android
Android 24 01 getting started with android
 
Tema 4 0_interfaces_moviles
Tema 4 0_interfaces_movilesTema 4 0_interfaces_moviles
Tema 4 0_interfaces_moviles
 
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
 
Introducción al Desarrollo Android - Programá tu Futuro
Introducción al Desarrollo Android - Programá tu FuturoIntroducción al Desarrollo Android - Programá tu Futuro
Introducción al Desarrollo Android - Programá tu Futuro
 
Presentacion android mistela&tweets
Presentacion android mistela&tweetsPresentacion android mistela&tweets
Presentacion android mistela&tweets
 
Curso Android Tema 2
Curso Android Tema 2Curso Android Tema 2
Curso Android Tema 2
 
Foda
FodaFoda
Foda
 
Lenguajes de Programación: Android
Lenguajes de Programación: AndroidLenguajes de Programación: Android
Lenguajes de Programación: Android
 
Proyecto 1
Proyecto 1Proyecto 1
Proyecto 1
 
R esume libro el gran libro de android
R esume libro el gran libro de androidR esume libro el gran libro de android
R esume libro el gran libro de android
 
Silabo android taller
Silabo android tallerSilabo android taller
Silabo android taller
 

Plus de Carlos A. Iglesias

Tema 4.2 Desarrollo Android e instalacion
Tema 4.2 Desarrollo Android e instalacionTema 4.2 Desarrollo Android e instalacion
Tema 4.2 Desarrollo Android e instalacion
Carlos A. Iglesias
 

Plus de Carlos A. Iglesias (20)

GSI Research Group Presentation
GSI Research Group PresentationGSI Research Group Presentation
GSI Research Group Presentation
 
Entorno PHP
Entorno PHPEntorno PHP
Entorno PHP
 
Bootstrap 3.
Bootstrap 3.Bootstrap 3.
Bootstrap 3.
 
Introducción CSS
Introducción CSSIntroducción CSS
Introducción CSS
 
Introducción HTML
Introducción HTMLIntroducción HTML
Introducción HTML
 
Presentación TEWC
Presentación TEWCPresentación TEWC
Presentación TEWC
 
UPM GSI Presentation
UPM GSI PresentationUPM GSI Presentation
UPM GSI Presentation
 
Introducción Análisis y Diseño
Introducción Análisis y DiseñoIntroducción Análisis y Diseño
Introducción Análisis y Diseño
 
PHP. Bases de Datos
PHP. Bases de DatosPHP. Bases de Datos
PHP. Bases de Datos
 
PHP. Tecnologías Web.
PHP. Tecnologías Web.PHP. Tecnologías Web.
PHP. Tecnologías Web.
 
1 intro php
1 intro php1 intro php
1 intro php
 
0 entorno php
0 entorno php0 entorno php
0 entorno php
 
Introducción TEWC
Introducción TEWCIntroducción TEWC
Introducción TEWC
 
Tema 4.2 Desarrollo Android e instalacion
Tema 4.2 Desarrollo Android e instalacionTema 4.2 Desarrollo Android e instalacion
Tema 4.2 Desarrollo Android e instalacion
 
Tema 4.3 Ejemplo sobre teleco
Tema 4.3 Ejemplo sobre telecoTema 4.3 Ejemplo sobre teleco
Tema 4.3 Ejemplo sobre teleco
 
Tema 4.4 Actividades
Tema 4.4 ActividadesTema 4.4 Actividades
Tema 4.4 Actividades
 
Tema 4.5 interfaces
Tema 4.5 interfacesTema 4.5 interfaces
Tema 4.5 interfaces
 
Tema 4.6 Intenciones
Tema 4.6 IntencionesTema 4.6 Intenciones
Tema 4.6 Intenciones
 
Tema 4.7 Acceso a datos
Tema 4.7 Acceso a datosTema 4.7 Acceso a datos
Tema 4.7 Acceso a datos
 
Tema 4.8 Preferencias
Tema 4.8 PreferenciasTema 4.8 Preferencias
Tema 4.8 Preferencias
 

Dernier

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Dernier (12)

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 

Tema 4.2.2 Desarrollo con Android. El Framework de Android.

  • 1. Análisis y Diseño de Software Desarrollo con Android Framework Android Carlos A. Iglesias <cif@gsi.dit.upm.es> Departamento de Ingeniería de Sistemas Telemáticos http://moodle.dit.upm.es
  • 2. Leyenda Teoría Ejercicio práctico en el ordenador Ampliación de conocimientos Lectura / Vídeo / Podcast Práctica libre / Experimentación Desarrollo con Android 2
  • 3. Temario ● 4.1 Introducción a Android [Gar10, cap1-2 ] ● 4.2 Desarrollo con Android [Gar10, cap3-5] – 4.2.1. Instalación [Gar10,cap3] – 4.2.2. Framework Android [Gar10,cap4] ● 4.3 Interfaces de Usuario [Gar10, cap6] ● 4.4 Intenciones y Servicios [Gar10, cap7-8] ● 4.5 Acceso a Datos [Gar10, cap9] Desarrollo con Android 3
  • 4. Bibliografía ● Libro de texto: – [Gar10] Learning Android, Marko Gargenta, O'Reilly, 2010. Disponible en http://ofps.oreilly.com/titles/9781449390501/ – Capítulos 4-5 – http://www.youtube.com/watch?v=SW82-YOOMIs ● Android Developers – http://developer.android.com/guide/topics/fundamentals .html Introducción a Android 4
  • 5. Bibliografía complementaria ●Hello Android, E. Burnette, The Pragmatic Bookshelf, 3rd Edition, 2008. Capítulo 2. ●http://www.maestrosdelweb.com/editorial/c urso-android-construir-lector-de-feeds/ Desarrollo con Android 5
  • 6. Objetivos ● Aprender cuáles son los bloques de una aplicación en Android ● Comprender los ciclos de vida de actividades y servicios Desarrollo con Android 6
  • 7. Bloques de una aplicación ● Actividad (Activity): cada pantalla de la aplicación ● Servicio (Service): una tarea que se ejecuta de fondo sin interacción directa del usuario. P. ej. un temporizador ● Proveedor de Contenidos (Content Provider): interfaces para compartir datos entre aplicaciones ● Receptores de difusión (Broadcast receivers): mecanismo de comunicación por subscripción a eventos (p.ej. Batería baja o captura realizada) Desarrollo con Android 7
  • 8. Actividad ●Una actividad representa una pantalla ● La pantalla inicial de la aplicación es la 'main' activity. ●Activity Manager: es el responsable del ciclo de vida de la actividad (crear, parar, …) ● Mantiene una pila de actividades recientes Desarrollo con Android 8
  • 9. Ciclo de vida de una Actividad Desarrollo con Android 9
  • 10. Ciclo de vida de un servicio Desarrollo con Android 10
  • 11. Proveedor de contenidos ●Proporciona una API CRUD ● Mecanismo común para aplicaciones y para el sistema (settings, contactos, etc.) Desarrollo con Android 11
  • 12. Receptores de difusión ● Sigue patrón publish/subscribe ● El subscriptor tiene un método que se ejecuta cuando recibe el evento Desarrollo con Android 12
  • 13. Contexto de Aplicación ● Todos los componentes de una aplicación se ejecutan en un contexto de aplicación ● El contexto de aplicación es el 'espacio compartido' que les permite compartir datos y recursos ● El CA se crea cuando se lanza el primer componente de una aplicación Desarrollo con Android 13
  • 14. ¿Quién controla? ● En programación tradicional, sabemos qué se ejecuta a continuación ● En programación orientada a eventos, el programador NO CONTROLA en qué estado está el programa, es gestionado por el sistema ● Programamos métodos (onCreate, onStart, onResume, onPause, onStop) que se ejecutan cuando se da el evento adecuado Desarrollo con Android 14
  • 15. Activando componentes ●En Android, una aplicación puede activar una actividad de otra aplicación. P. ej. una app quiere capturar una pantalla ● Esto quiere decir que 'no hay un main': podemos activar cada 'pantallla' ● Como cada aplicación es un usuario/proceso diferente, no podemos lanzarlo directamente: le debemos pedir al sistema Android que lo haga, enviando un mensaje llamado 'intención' Desarrollo con Android 15
  • 16. Intenciones (I) ● Intención (Intent): describe un tipo de acción (seleccionar una foto, enviar un correo, …) ● Las intenciones activan actividades, servicios y receptores de difusión Desarrollo con Android 16
  • 17. Intenciones (II) ● Intención explícita: indicamos el destinatario ●Intención implícita: indicamos el tipo de destinatario (p.ej. un editor, un navegador) Desarrollo con Android 17
  • 18. Patrón de Diseño ● Es una solución a un problema concreto ● Permite unificar la terminología ● P.ej. – Problema: tener un objeto único de una clase – Solución: patrón Singleton Desarrollo con Android 18
  • 20. Ejemplo Yamba Desarrollo con Android 20
  • 21. Diagrama de Diseño Desarrollo con Android 21
  • 22. Resumen ● Hemos aprendido los principales componentes de una aplicación: actividades, servicios, proveedores de contenidos y receptores de difusión ● Las actividades y servicios tienen un ciclo de vida ● Lasintenciones permiten que el sistema active componentes ● El contexto de aplicación permite que los componentes compartan datos y recursos Desarrollo con Android 22
  • 23. ¿Preguntas? Desarrollo con Android 23