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

Introducción a
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



                    Introducción a Android   2
Temario
● 4.1 Introducción a Android [Gar10,
cap1-2 ]
● 4.2 Desarrollo con Android [Gar10,
cap3-5]
●   4.3 Interfaces de Usuario [Gar10, cap6]
●   4.4 Intenciones [Gar10, cap7-8]
●   4.5 Acceso a Datos [Gar10, cap9]

                        Introducción a Android   3
Bibliografía (I)
●   Libro de texto:
– [Gar10] Learning Android, Marko Gargenta,
    O'Reilly, 2010. Disponible en
    http://ofps.oreilly.com/titles/9781449390501/
–   Capítulos 1-2
●   Android Developers
–   http://developer.android.com/guide/basics/what-is-andr
    oid.html



                                Introducción a Android       4
Bibliografía (II)
●   Libro de texto:
–    Professional Android 4 Application Development,
     Reto Meier, Wrox, 3rd Edition, 2012. Disponible en
    http://proquest.safaribooksonline.com/book/-/9781118
    237229
–    Capítulo 1




                              Introducción a Android       5
Objetivos
●   Conocer qué es Android:
–   Su origen y evolución
–   Su arquitectura
–   Cómo se ejecuta




                            Introducción a Android   6
¿Qué es Android?




         Introducción a Android   7
Android
● 2007 – Creación de la Open Handset
Alliance, liderada por Google
● 2009 – Primer terminal HTCG1




                     Introducción a Android   8
Versiones de Android




           Introducción a Android   9
Versiones de Android
● 9/2008   – Android 1.0
● 2/2009   – Android 1.1
● 4/2009   – Android 1.5 (Cupcake)
● 9/2009   – Android 1.6 (Donut)
● 10/2009   – Android 2.0/2.1 (Eclair)
● 5/2010   – Android 2.2 (Froyo)
● 12/2010   – Android 2.3 (Gingerbread)
● 2/2011   – Android 3.0/3.1/3.2 (Honeycomb)
● 10/2011   – Android 4.0 (IceSandwich)
● 06/2012   – Android 4.1/4.2 (Jelly Bean)
● ??   - Android 5.0 (Lime Pie)
                                         Introducción a Android   10
Distribución de versiones




     http://developer.android.com/about/dashboards/index.html



                                            Introducción a Android   11
Aplicaciones de Android




            Introducción a Android   12
Android
● Es una plataforma software de código
abierto para dispositivos móviles
● Tiene en cuenta restricciones actuales que
no van a cambiar en el corto plazo como
–   (i) baterías que duran poco
–   (ii) limitación en CPU/memoria de móviles
●Está diseñado para ser portable a
múltiples dispositivos

                            Introducción a Android   13
Lecturas
●   Wikipedia – Historia de Android:
–   http://es.wikipedia.org/wiki/Android




                            Introducción a Android   14
Arquitectura de Android




            Introducción a Android   15
Arquitectura de Android
● El     sistema operativo Android tiene varias capas:
–   Kernel de Linux
–   Bibliotecas: bibliotecas en C/C++ (SSL, OpenGL, …)
     •   Máquina virtual Dalvik
–   Framework de Aplicación: modelo de programación en Java
    para aplicaciones Android
–   Aplicaciones: programadas por usuarios en Java
     • Distribuidas en ficheros APK (Application Package) que contienen
       el código Dalvik ejecutable, recursos (imágenes, …), y bibliotecas
       opcionales (en C/C++)
     • Debemos firmarlas para distribuirlas en un mercado



                                       Introducción a Android               16
Máquina virtual Dalvik
● Máquina   virtual de los dispositivos Android
● Optimizada para usar poca memoria y permitir la ejecución
simultánea de varias máquinas virtuales
● Delega   en el SO la gestión de memoria y hebras
● No   es una JVM
● Cada aplicación de Android se ejecuta en un proceso, que
es una instancia de la Dalvik VM
● Cada  aplicación de Android tiene asignado un usuario de
Linux, que tiene derechos sobre los ficheros de la aplicación




                                   Introducción a Android       17
Dalvik vs JVM




         Dex = Dalvik Executable format




       Introducción a Android             18
Arquitectura Software
    “La arquitectura del Software define un
    sistema a partir de los componentes y las
    interacciones entre dichos componentes”

Shaw and Garlan, Software Architecture, Perspectives on an Emerging Discipline,
Prentice-Hall, 1996




                                            Introducción a Android                19
Arquitectura / Diseño
● Cuando nos enfrentamos con un
problema, la primera decisión es qué
componentes (paquetes, clases, …)
resolverán el problema.
● Es complejo identificar el conjunto que
permitirá añadir más funcionalidades en el
futuro con poco esfuerzo.



                      Introducción a Android   20
Resumen
● Android es una plataforma para
desarrollar aplicaciones móviles
● Android tiene diferentes versiones que
añaden funcionalidades
●  Tiene varias capas: Linux, bibliotecas,
framework de aplicación y aplicaciones
● Las aplicaciones se desarrollan en Java,
y se compilan para la Dalvik VM

                        Introducción a Android   21
¿Preguntas?




      Introducción a Android   22

Contenu connexe

Tendances

Diapositivas de computacion
Diapositivas de computacionDiapositivas de computacion
Diapositivas de computacionJacky Ordoñez
 
Temario_programacion_dispositivosmoviles
Temario_programacion_dispositivosmovilesTemario_programacion_dispositivosmoviles
Temario_programacion_dispositivosmovilesFaite Dixit@l!
 
Montaje de-un-proyecto-de-software-libre-v0114069
Montaje de-un-proyecto-de-software-libre-v0114069Montaje de-un-proyecto-de-software-libre-v0114069
Montaje de-un-proyecto-de-software-libre-v0114069Diego Segada
 
Riesgos de seguridad en la carga de dispositivos móciles
Riesgos de seguridad en la carga de dispositivos mócilesRiesgos de seguridad en la carga de dispositivos móciles
Riesgos de seguridad en la carga de dispositivos mócilesJordi Vázquez
 
Android Presentacion
Android PresentacionAndroid Presentacion
Android PresentacionJesu Puënt
 
Software Libre
Software LibreSoftware Libre
Software Libreastaroth97
 
Diapositivas salvavidas
Diapositivas salvavidasDiapositivas salvavidas
Diapositivas salvavidasJesus22barrera
 
1.1 android cep jaen 2015 introducción
1.1 android cep jaen 2015   introducción1.1 android cep jaen 2015   introducción
1.1 android cep jaen 2015 introducciónJose Antonio Vacas
 

Tendances (12)

Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Diapositivas de computacion
Diapositivas de computacionDiapositivas de computacion
Diapositivas de computacion
 
Temario_programacion_dispositivosmoviles
Temario_programacion_dispositivosmovilesTemario_programacion_dispositivosmoviles
Temario_programacion_dispositivosmoviles
 
Montaje de-un-proyecto-de-software-libre-v0114069
Montaje de-un-proyecto-de-software-libre-v0114069Montaje de-un-proyecto-de-software-libre-v0114069
Montaje de-un-proyecto-de-software-libre-v0114069
 
Riesgos de seguridad en la carga de dispositivos móciles
Riesgos de seguridad en la carga de dispositivos mócilesRiesgos de seguridad en la carga de dispositivos móciles
Riesgos de seguridad en la carga de dispositivos móciles
 
Android Presentacion
Android PresentacionAndroid Presentacion
Android Presentacion
 
Software Libre
Software LibreSoftware Libre
Software Libre
 
Software libre
Software libreSoftware libre
Software libre
 
Diapositivas salvavidas
Diapositivas salvavidasDiapositivas salvavidas
Diapositivas salvavidas
 
Software libre
Software libreSoftware libre
Software libre
 
1.1 android cep jaen 2015 introducción
1.1 android cep jaen 2015   introducción1.1 android cep jaen 2015   introducción
1.1 android cep jaen 2015 introducción
 
XPWeek2011 TDD con Objective-C
XPWeek2011 TDD con Objective-CXPWeek2011 TDD con Objective-C
XPWeek2011 TDD con Objective-C
 

Similaire à Tema 4 1_introduccion_android

Introducción a la programación androide
Introducción a la programación androideIntroducción a la programación androide
Introducción a la programación androideJomicast
 
Terminado,sistmas operativos
Terminado,sistmas operativosTerminado,sistmas operativos
Terminado,sistmas operativosJoseteMarta11
 
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 androidArturo Linares Valverde
 
12j sistemaandroid texto
12j sistemaandroid texto12j sistemaandroid texto
12j sistemaandroid textoHenry Ortiz
 
Curso de programación en Android - 01. introducción
Curso de programación en Android - 01. introducciónCurso de programación en Android - 01. introducción
Curso de programación en Android - 01. introducciónRene Cruz Flores
 
Jose david arango correa tecnologia android
Jose david arango correa tecnologia androidJose david arango correa tecnologia android
Jose david arango correa tecnologia androidjosearango678
 
Android como OpenSource
Android como OpenSourceAndroid como OpenSource
Android como OpenSourceAtictes
 
Seminario Android (Parte 1) - movilforum
Seminario Android (Parte 1) - movilforumSeminario Android (Parte 1) - movilforum
Seminario Android (Parte 1) - movilforumvideos
 
Topicos Avanzados de Programacion - Unidad 5 programacion movil
Topicos Avanzados de Programacion -  Unidad 5 programacion movilTopicos Avanzados de Programacion -  Unidad 5 programacion movil
Topicos Avanzados de Programacion - Unidad 5 programacion movilJosé Antonio Sandoval Acosta
 
Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1Jorge Ulises
 
Introducción al desarrollo de aplicaciones para Android
Introducción al desarrollo de aplicaciones para AndroidIntroducción al desarrollo de aplicaciones para Android
Introducción al desarrollo de aplicaciones para AndroidArmando Picón Z.
 

Similaire à Tema 4 1_introduccion_android (20)

Tema 4.1 Introduccion Android
Tema 4.1 Introduccion AndroidTema 4.1 Introduccion Android
Tema 4.1 Introduccion Android
 
Introducción a la programación androide
Introducción a la programación androideIntroducción a la programación androide
Introducción a la programación androide
 
Terminado,sistmas operativos
Terminado,sistmas operativosTerminado,sistmas operativos
Terminado,sistmas operativos
 
Documento de android
Documento de androidDocumento de android
Documento de android
 
Android
AndroidAndroid
Android
 
Android studio
Android studioAndroid studio
Android studio
 
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
 
Android
AndroidAndroid
Android
 
Android
AndroidAndroid
Android
 
Android
AndroidAndroid
Android
 
12j sistemaandroid texto
12j sistemaandroid texto12j sistemaandroid texto
12j sistemaandroid texto
 
Curso de programación en Android - 01. introducción
Curso de programación en Android - 01. introducciónCurso de programación en Android - 01. introducción
Curso de programación en Android - 01. introducción
 
Android
AndroidAndroid
Android
 
Jose david arango correa tecnologia android
Jose david arango correa tecnologia androidJose david arango correa tecnologia android
Jose david arango correa tecnologia android
 
Android como OpenSource
Android como OpenSourceAndroid como OpenSource
Android como OpenSource
 
android evolution
android evolutionandroid evolution
android evolution
 
Seminario Android (Parte 1) - movilforum
Seminario Android (Parte 1) - movilforumSeminario Android (Parte 1) - movilforum
Seminario Android (Parte 1) - movilforum
 
Topicos Avanzados de Programacion - Unidad 5 programacion movil
Topicos Avanzados de Programacion -  Unidad 5 programacion movilTopicos Avanzados de Programacion -  Unidad 5 programacion movil
Topicos Avanzados de Programacion - Unidad 5 programacion movil
 
Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1
 
Introducción al desarrollo de aplicaciones para Android
Introducción al desarrollo de aplicaciones para AndroidIntroducción al desarrollo de aplicaciones para Android
Introducción al desarrollo de aplicaciones para Android
 

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
 

Tema 4 1_introduccion_android

  • 1. Análisis y Diseño de Software Introducción a 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 Introducción a Android 2
  • 3. Temario ● 4.1 Introducción a Android [Gar10, cap1-2 ] ● 4.2 Desarrollo con Android [Gar10, cap3-5] ● 4.3 Interfaces de Usuario [Gar10, cap6] ● 4.4 Intenciones [Gar10, cap7-8] ● 4.5 Acceso a Datos [Gar10, cap9] Introducción a Android 3
  • 4. Bibliografía (I) ● Libro de texto: – [Gar10] Learning Android, Marko Gargenta, O'Reilly, 2010. Disponible en http://ofps.oreilly.com/titles/9781449390501/ – Capítulos 1-2 ● Android Developers – http://developer.android.com/guide/basics/what-is-andr oid.html Introducción a Android 4
  • 5. Bibliografía (II) ● Libro de texto: – Professional Android 4 Application Development, Reto Meier, Wrox, 3rd Edition, 2012. Disponible en http://proquest.safaribooksonline.com/book/-/9781118 237229 – Capítulo 1 Introducción a Android 5
  • 6. Objetivos ● Conocer qué es Android: – Su origen y evolución – Su arquitectura – Cómo se ejecuta Introducción a Android 6
  • 7. ¿Qué es Android? Introducción a Android 7
  • 8. Android ● 2007 – Creación de la Open Handset Alliance, liderada por Google ● 2009 – Primer terminal HTCG1 Introducción a Android 8
  • 9. Versiones de Android Introducción a Android 9
  • 10. Versiones de Android ● 9/2008 – Android 1.0 ● 2/2009 – Android 1.1 ● 4/2009 – Android 1.5 (Cupcake) ● 9/2009 – Android 1.6 (Donut) ● 10/2009 – Android 2.0/2.1 (Eclair) ● 5/2010 – Android 2.2 (Froyo) ● 12/2010 – Android 2.3 (Gingerbread) ● 2/2011 – Android 3.0/3.1/3.2 (Honeycomb) ● 10/2011 – Android 4.0 (IceSandwich) ● 06/2012 – Android 4.1/4.2 (Jelly Bean) ● ?? - Android 5.0 (Lime Pie) Introducción a Android 10
  • 11. Distribución de versiones http://developer.android.com/about/dashboards/index.html Introducción a Android 11
  • 12. Aplicaciones de Android Introducción a Android 12
  • 13. Android ● Es una plataforma software de código abierto para dispositivos móviles ● Tiene en cuenta restricciones actuales que no van a cambiar en el corto plazo como – (i) baterías que duran poco – (ii) limitación en CPU/memoria de móviles ●Está diseñado para ser portable a múltiples dispositivos Introducción a Android 13
  • 14. Lecturas ● Wikipedia – Historia de Android: – http://es.wikipedia.org/wiki/Android Introducción a Android 14
  • 15. Arquitectura de Android Introducción a Android 15
  • 16. Arquitectura de Android ● El sistema operativo Android tiene varias capas: – Kernel de Linux – Bibliotecas: bibliotecas en C/C++ (SSL, OpenGL, …) • Máquina virtual Dalvik – Framework de Aplicación: modelo de programación en Java para aplicaciones Android – Aplicaciones: programadas por usuarios en Java • Distribuidas en ficheros APK (Application Package) que contienen el código Dalvik ejecutable, recursos (imágenes, …), y bibliotecas opcionales (en C/C++) • Debemos firmarlas para distribuirlas en un mercado Introducción a Android 16
  • 17. Máquina virtual Dalvik ● Máquina virtual de los dispositivos Android ● Optimizada para usar poca memoria y permitir la ejecución simultánea de varias máquinas virtuales ● Delega en el SO la gestión de memoria y hebras ● No es una JVM ● Cada aplicación de Android se ejecuta en un proceso, que es una instancia de la Dalvik VM ● Cada aplicación de Android tiene asignado un usuario de Linux, que tiene derechos sobre los ficheros de la aplicación Introducción a Android 17
  • 18. Dalvik vs JVM Dex = Dalvik Executable format Introducción a Android 18
  • 19. Arquitectura Software “La arquitectura del Software define un sistema a partir de los componentes y las interacciones entre dichos componentes” Shaw and Garlan, Software Architecture, Perspectives on an Emerging Discipline, Prentice-Hall, 1996 Introducción a Android 19
  • 20. Arquitectura / Diseño ● Cuando nos enfrentamos con un problema, la primera decisión es qué componentes (paquetes, clases, …) resolverán el problema. ● Es complejo identificar el conjunto que permitirá añadir más funcionalidades en el futuro con poco esfuerzo. Introducción a Android 20
  • 21. Resumen ● Android es una plataforma para desarrollar aplicaciones móviles ● Android tiene diferentes versiones que añaden funcionalidades ● Tiene varias capas: Linux, bibliotecas, framework de aplicación y aplicaciones ● Las aplicaciones se desarrollan en Java, y se compilan para la Dalvik VM Introducción a Android 21
  • 22. ¿Preguntas? Introducción a Android 22