SlideShare una empresa de Scribd logo
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

Más contenido relacionado

PDF
Tema 4 1_introduccion_android
PDF
Adtg como realice el app en android - usmp
PDF
Del free style al mvp
PDF
Git 101
PDF
Mi primera aplicación en Android usando Scrum
PPTX
Publicación de aplicaciones en los stores SD
PDF
Tema 4.2.1 Desarrollo con Android. Instalación.
PDF
Presentación Android integración Facebook
Tema 4 1_introduccion_android
Adtg como realice el app en android - usmp
Del free style al mvp
Git 101
Mi primera aplicación en Android usando Scrum
Publicación de aplicaciones en los stores SD
Tema 4.2.1 Desarrollo con Android. Instalación.
Presentación Android integración Facebook

Similar a Tema 4.2.2 Desarrollo con Android. El Framework de Android. (20)

PDF
"Android de la A a la Z" -- Unidad 4
PPTX
Android Basics v2.0
PDF
Introducción a Android: 10 cosas importantes que hay que entender
PDF
Deletreando Android
PDF
Tema 4.1 Introduccion Android
PDF
Curso Android Tema 2
DOCX
Componentes necesarios de android docx
PPT
Curso desarrollo en android
PPTX
Instrucciones y estructuras
PPT
Introduccion a Android
PDF
Aplicaciones Android Nivel I
PDF
Brochure curso desarrollo aplicaciones android
PDF
Desarrollo de Aplicaciones Moviles en Android: Temas Avanzados
PPT
Desarrollo android - 4 - arquitectura de aplicación
PDF
Desarrollo en Android: Conceptos Básicos
PPTX
Conferencia android
PDF
Android de la A a la z componentes de una aplicacion ulises gonzalez
PDF
Mdw guia-android-1.3
PDF
Android
PDF
Curso android desarrollo de aplicaciones moviles
"Android de la A a la Z" -- Unidad 4
Android Basics v2.0
Introducción a Android: 10 cosas importantes que hay que entender
Deletreando Android
Tema 4.1 Introduccion Android
Curso Android Tema 2
Componentes necesarios de android docx
Curso desarrollo en android
Instrucciones y estructuras
Introduccion a Android
Aplicaciones Android Nivel I
Brochure curso desarrollo aplicaciones android
Desarrollo de Aplicaciones Moviles en Android: Temas Avanzados
Desarrollo android - 4 - arquitectura de aplicación
Desarrollo en Android: Conceptos Básicos
Conferencia android
Android de la A a la z componentes de una aplicacion ulises gonzalez
Mdw guia-android-1.3
Android
Curso android desarrollo de aplicaciones moviles
Publicidad

Más de Carlos A. Iglesias (20)

PDF
GSI Research Group Presentation
PDF
Entorno PHP
PDF
Bootstrap 3.
PDF
Introducción CSS
PDF
Introducción HTML
PDF
Presentación TEWC
PDF
UPM GSI Presentation
PDF
Introducción Análisis y Diseño
PDF
PHP. Bases de Datos
PDF
PHP. Tecnologías Web.
PDF
1 intro php
PDF
0 entorno php
PDF
Introducción TEWC
PDF
Tema 4.2 Desarrollo Android e instalacion
PDF
Tema 4.3 Ejemplo sobre teleco
PDF
Tema 4.4 Actividades
PDF
Tema 4.5 interfaces
PDF
Tema 4.6 Intenciones
PDF
Tema 4.7 Acceso a datos
PDF
Tema 4.8 Preferencias
GSI Research Group Presentation
Entorno PHP
Bootstrap 3.
Introducción CSS
Introducción HTML
Presentación TEWC
UPM GSI Presentation
Introducción Análisis y Diseño
PHP. Bases de Datos
PHP. Tecnologías Web.
1 intro php
0 entorno php
Introducción TEWC
Tema 4.2 Desarrollo Android e instalacion
Tema 4.3 Ejemplo sobre teleco
Tema 4.4 Actividades
Tema 4.5 interfaces
Tema 4.6 Intenciones
Tema 4.7 Acceso a datos
Tema 4.8 Preferencias
Publicidad

Último (20)

PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PDF
clase auditoria informatica 2025.........
PDF
Estrategia de apoyo tecnología grado 9-3
PPTX
Presentación de Redes de Datos modelo osi
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PDF
Influencia-del-uso-de-redes-sociales.pdf
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PPT
introduccion a las_web en el 2025_mejoras.ppt
PDF
SAP Transportation Management para LSP, TM140 Col18
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PDF
Maste clas de estructura metálica y arquitectura
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PDF
Calidad desde el Docente y la mejora continua .pdf
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
historia_web de la creacion de un navegador_presentacion.pptx
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
clase auditoria informatica 2025.........
Estrategia de apoyo tecnología grado 9-3
Presentación de Redes de Datos modelo osi
Zarate Quispe Alex aldayir aplicaciones de internet .docx
Influencia-del-uso-de-redes-sociales.pdf
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
introduccion a las_web en el 2025_mejoras.ppt
SAP Transportation Management para LSP, TM140 Col18
Presentación PASANTIAS AuditorioOO..pptx
El-Gobierno-Electrónico-En-El-Estado-Bolivia
Maste clas de estructura metálica y arquitectura
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
Calidad desde el Docente y la mejora continua .pdf
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
REDES INFORMATICAS REDES INFORMATICAS.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