SlideShare una empresa de Scribd logo
1
Desarrollo de aplicaciones
móviles en Android
Índice
2
Historia
¿Qué es Android?
Arquitectura del sistema
Entorno de desarrollo
Arquitectura de las
aplicaciones
Almacenamiento de
datos
Multimedia
Práctica final
Objetivos
3
Arquitectura del sistema
Analizar la arquitectura que
compone el sistema
operativo Android.
Características de la
máquina Dalvik.
Conocer la principales
librerías de incluidas en la
plataforma Android.
Framework aplicaciones
Android.
Características
fundamentales del Android
market.
Arquitectura Sistema
4
Arquitectura Sistema: Linux Kernel
 Versión 2.6.x del kernel de Linux.
 Capa de abstracción entre el hardware y el
software.
 Android aprovecha:
 La seguridad.
 Gestión de memoria.
 Gestión de procesos.
 Red y modelo de drivers.
5
Arquitectura Sistema: Linux Kernel (II)
 Relación versiones Linux por versión Android
6
Versión Android Versión Linux
Android 1.5 (Cupcake) 2.6.27
Android 1.6 (Donut) 2.6.29
Android 2.0 (Eclair) 2.6.29
Android 2.2 (Froyo) 2.6.32
Gingerbread 2.6.33
Arquitectura Sistema: Librerías Android
 Conjunto de librerías (C & C++) usadas por varios componentes
Android del sistema (Application Framework).
 Surface Manager: Gestión del acceso a la pantalla.
 Media Framework: Reproducción de imágenes, audio y video.
 SQLite: Pequeña base de datos relacional.
 WebKit: Navegador (Browser) optimizado.
 SGL: Gráficos 2D.
 Open GL | ES: Librerías 3D.
 FreeType: Renderización de vectores e imágenes (bitmap).
7
Arquitectura Sistema: Android runtime
Core Libraries: Formado por un conjunto de librerías
base para ofrecer funcionalidad elemental y de bajo
nivel, escritas en C y C++.
Utiliza el Kernel de Linux para la ejecución de
aplicaciones (1 aplicación = 1 proceso = 1 DVM)
Máquina virtual Dalvik, con código preparado
teniendo en cuenta la duración de las baterías y la
limitación de memoria.
8
Arquitectura Sistema: Dalvik Virtual Machine
 Condicionantes de los dispositivos móviles
 Poca duración de la batería.
 Recursos muy escasos (memoria, cpu).
 Limitaciones visuales (pantallas poca resolución).
 Compartición y priorización de recursos.
 Características de la DVM
 Usada en entornos con restricciones de memoria y
procesador.
 Herramienta dx convierte .class (clase o aplicación
en JAVA) a dex.
 Ejecuta aplicaciones en formato .dex (Dalvik
EXecutable).
 Permite la ejecución de varias instancias a la vez.
 No es una JVM, no ejecuta bytecode sino registros.
 Clases de Java ME, AWT o Swing no están
soportadas.
9
.JAVA
.CLASS
.DEX
javac
dx
JVM
DVM
Arquitectura Sistema : Framework de aplicaciones
Proporciona una plataforma abierta para el desarrollo
que permite la reutilización de componentes.
A través del framework, el desarrollador puede
acceder a los dispositivos, información de ubicación,
ejecutar servicios, etc,.
Las aplicaciones del core utilizan este mismo APIs
framework .
Views, Content Providers, Managers...
10
Arquitectura Sistema: Capa de aplicaciones
11
 En esta capa se ubicarán las aplicaciones
‘preinstaladas’ y las desarrolladas por el desarrollador .
 Aplicaciones escritas en lenguaje JAVA.
 Aplicaciones incluidas por defecto:
 Cliente email
 Gestor SMS
 Navegador
 Contactos
 Android Market…
.JAVA
.CLASS
.DEX
javac
dx
JVM
DVM
Arquitectura Sistema: Android Market
 Permite distribuir aplicaciones de manera sencilla.
 Cualquier desarrollador puede publicar en el
Market, previo pago único de 25$.
 Incluso aplicaciones no firmadas.
 70% para el desarrollador / 30% para Google.
 No se revisan las aplicaciones que se suben.
 Selección a través de votaciones y comentarios.
 Se pueden eliminar apps del market si dañan
dispositivos, invasión de privacidad, etc.
 Sólo en 9 países apps de pago.
 <100k apps: 65% Gratuitas vs 35% Pago.
12
Cifras
Tamaño de las tiendas
Número total de apps
Agosto 2010 - Distimo
Cifras
Crecimiento tiendas trimestral
Mayo 2010 - Distimo
Cifras
Gratis vs De Pago Julio 2010 - Distimo
Cifras
Comparativas de precio
Precio medio app de pago
(Distimo Mayo 2010)
Cifras
¡Tener el mayor número de aplicaciones no
implica tener el mayor número de terminales…
y viceversa!
Cifras
Y los desarrolladores, ¿Qué plataforma prefieren?
Cifras
Que les motiva a los desarrolladores para
decantarse por una plataforma
Conclusiones
20
Arquitectura del sistema
 Analizar la arquitectura que
compone el sistema
operativo Android.
 Características de la
máquina Dalvik.
 Conocer la principales
librerías de incluidas en la
plataforma Android.
 Framework aplicaciones
Android.
 Características
fundamentales del Android
market.

Más contenido relacionado

PDF
Arquitectura android
PPTX
arquitectura android y tecnologia mpls
PPT
Fundamentos desarrollo de Apps para Android
PDF
Conceptos y Generalidades de Android
PPT
Taller de Android
PDF
31-Android Generalidades Sobre Servicios Webs con MySQL
PDF
"Android de la A a la Z" -- Unidad 3
PDF
Taller de prog. en android
Arquitectura android
arquitectura android y tecnologia mpls
Fundamentos desarrollo de Apps para Android
Conceptos y Generalidades de Android
Taller de Android
31-Android Generalidades Sobre Servicios Webs con MySQL
"Android de la A a la Z" -- Unidad 3
Taller de prog. en android

La actualidad más candente (19)

DOCX
Que es android studio
DOCX
Lenguajes de Programación: Android
PDF
Entornos-de-Desarrollo-Eclipse-y-Android-SDK
PPTX
Tecnología androide_Mishelle_Ruiz
PPTX
Iniciación a Android
PDF
Desarrollo de Aplicaciones Android 2014/03
PDF
"Android de la A a la Z" -- Unidad 8
PDF
Herramientas para Desarrollo de Aplicaciones Moviles
PDF
"Android de la A a la Z" -- Unidad 1
DOCX
"Android de la A a la Z" -- Unidad 2
PDF
"Android de la A a la Z" -- Unidad 6
PDF
Entorno-de-Desarrollo-Android-Studio
PDF
"Android de la A a la Z" -- Introducción
PDF
"Android de la A a la Z" -- Unidad 4
PPTX
Protocolo de interfaz entre aplicaciones
PDF
aplicaciones moviles
PPTX
Arquitectura de software para aplicaciones móviles
PDF
Descargar Java JDK, Netbeans y Java ME para Desarrollo de Aplicaciones Moviles
Que es android studio
Lenguajes de Programación: Android
Entornos-de-Desarrollo-Eclipse-y-Android-SDK
Tecnología androide_Mishelle_Ruiz
Iniciación a Android
Desarrollo de Aplicaciones Android 2014/03
"Android de la A a la Z" -- Unidad 8
Herramientas para Desarrollo de Aplicaciones Moviles
"Android de la A a la Z" -- Unidad 1
"Android de la A a la Z" -- Unidad 2
"Android de la A a la Z" -- Unidad 6
Entorno-de-Desarrollo-Android-Studio
"Android de la A a la Z" -- Introducción
"Android de la A a la Z" -- Unidad 4
Protocolo de interfaz entre aplicaciones
aplicaciones moviles
Arquitectura de software para aplicaciones móviles
Descargar Java JDK, Netbeans y Java ME para Desarrollo de Aplicaciones Moviles
Publicidad

Destacado (20)

PDF
Presentación Android - Campus Party Colombia 2.010
PPTX
Seminario Desarrollo de Aplicaciones Móviles que Merezcan la Pena (Valencia, ...
PDF
Android studio
PPTX
Arquitectura, aplicaciones y seguridad en Android
PPTX
ENTORNOS DE DESARROLLO: ANDROID STUDIO - INSTALACIÓN
PDF
Generalidades-de-Android-Estudio
PPTX
ENTORNOS DE DESARROLLO: ANDROID STUDIO - ESTRUCTURA
PDF
Android studio
PDF
Controles y Objetos Android Studio (Actualizada 2016)
PDF
Con19 contrato auditoria_proteccion_datos
PPTX
DERECHOS DE PRIVACIDAD Y DE INFORMACIÓN
PDF
Charla de seguridad en dispositivos móviles
ODT
seguridad de so
PPTX
Tendencias de marketing digital en aplicaciones moviles
PPTX
Conferencia Android Cparty11
PPSX
PPTX
0020 aplicaciones para_dispositivos_android
PPTX
Aplicaciones Móviles para Negocios | Incrementa Productividad
PDF
Aplicaciones móviles que se vean y se sientan bien
PPT
PresentacionPFC_ppt
Presentación Android - Campus Party Colombia 2.010
Seminario Desarrollo de Aplicaciones Móviles que Merezcan la Pena (Valencia, ...
Android studio
Arquitectura, aplicaciones y seguridad en Android
ENTORNOS DE DESARROLLO: ANDROID STUDIO - INSTALACIÓN
Generalidades-de-Android-Estudio
ENTORNOS DE DESARROLLO: ANDROID STUDIO - ESTRUCTURA
Android studio
Controles y Objetos Android Studio (Actualizada 2016)
Con19 contrato auditoria_proteccion_datos
DERECHOS DE PRIVACIDAD Y DE INFORMACIÓN
Charla de seguridad en dispositivos móviles
seguridad de so
Tendencias de marketing digital en aplicaciones moviles
Conferencia Android Cparty11
0020 aplicaciones para_dispositivos_android
Aplicaciones Móviles para Negocios | Incrementa Productividad
Aplicaciones móviles que se vean y se sientan bien
PresentacionPFC_ppt
Publicidad

Similar a Desarrollo android - 2 - arquitectura del sistema (20)

PDF
Fo 2-introduccion-android-arquitectura-de-sistema
PDF
Documento de android
PPTX
Androidoriiginal
PPTX
Arquitectura 63583.pptx
PPTX
Tecnología androide
PPTX
Tecnología androide
PDF
12j sistemaandroid texto
DOCX
Android de la A a la Z - Unidad 1
PPTX
PDF
Presentacion para la Flagship Store de Telefónica
PPTX
Funcion android
PDF
Seminario Android (Parte 1) - movilforum
PPT
Curso introducción a android
PPT
Curso introducción a Android
PDF
Deletreando Android
PDF
Sistema Operativo Android
PPTX
Sistema Operativo Android
PPTX
Sistema Operativo Android
Fo 2-introduccion-android-arquitectura-de-sistema
Documento de android
Androidoriiginal
Arquitectura 63583.pptx
Tecnología androide
Tecnología androide
12j sistemaandroid texto
Android de la A a la Z - Unidad 1
Presentacion para la Flagship Store de Telefónica
Funcion android
Seminario Android (Parte 1) - movilforum
Curso introducción a android
Curso introducción a Android
Deletreando Android
Sistema Operativo Android
Sistema Operativo Android
Sistema Operativo Android

Más de Emilio Aviles Avila (20)

PPTX
Experiencias emprendedor de apps - AppCierta
PPTX
Apps Ser o Estar
PPTX
Aplicaciones móviles, experiencias de emprendedor
PPTX
Charla estrategia desarrollo aplicaciones móviles Universidad Girona
PPT
Desarrollo android - 6 - multimedia
PPT
Desarrollo android - 5 - almacenamiento de datos
PPT
Desarrollo android - 4 - arquitectura de aplicación
PPT
Desarrollo android - 3 - entorno de desarrollo
PPT
Desarrollo android -1 - introduccion
PPTX
El mercado de las aplicaciones moviles
PDF
Curso Taller Android Procesado Imagen
PDF
Taller Curso android WhereAmI
PDF
Curso taller android radio streaming
PDF
Como ganar dinero con las apps
PPT
Curso Introducción a android
PPT
Curso desarrollo en android
PPTX
TeCHmi Service Portfolio
PPT
Curso Uml 3.2 Proceso Unificado
PPT
Curso Uml 3.1 Modelos De Desarrollo De Software
PPT
Curso Uml 2.6 Otros Diagramas
Experiencias emprendedor de apps - AppCierta
Apps Ser o Estar
Aplicaciones móviles, experiencias de emprendedor
Charla estrategia desarrollo aplicaciones móviles Universidad Girona
Desarrollo android - 6 - multimedia
Desarrollo android - 5 - almacenamiento de datos
Desarrollo android - 4 - arquitectura de aplicación
Desarrollo android - 3 - entorno de desarrollo
Desarrollo android -1 - introduccion
El mercado de las aplicaciones moviles
Curso Taller Android Procesado Imagen
Taller Curso android WhereAmI
Curso taller android radio streaming
Como ganar dinero con las apps
Curso Introducción a android
Curso desarrollo en android
TeCHmi Service Portfolio
Curso Uml 3.2 Proceso Unificado
Curso Uml 3.1 Modelos De Desarrollo De Software
Curso Uml 2.6 Otros Diagramas

Último (20)

PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PPTX
Yogurt de tocosh (1).pptx preparacion receta
PPTX
Introduccion a servidores de Aplicaciones (1).pptx
PDF
Temas y subtemas de las fichas 1 y 2.pdf
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PDF
Calidad desde el Docente y la mejora continua .pdf
DOCX
Trabajo colaborativo Grupo #2.docxmkkkkkkl
PDF
Estrategia de apoyo tecnología miguel angel solis
PDF
ACTIVIDAD 2.pdf j
DOCX
Las nuevas tecnologías en la salud - enfermería técnica.
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PDF
SAP Transportation Management para LSP, TM140 Col18
PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
PDF
La electricidad y la electrónica .pdf n
PDF
Conceptos básicos de programación tecnología.pdf
PDF
Maste clas de estructura metálica y arquitectura
PDF
taller de informática - LEY DE OHM
PPTX
Presentación de Redes de Datos modelo osi
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
Yogurt de tocosh (1).pptx preparacion receta
Introduccion a servidores de Aplicaciones (1).pptx
Temas y subtemas de las fichas 1 y 2.pdf
REDES INFORMATICAS REDES INFORMATICAS.pptx
Calidad desde el Docente y la mejora continua .pdf
Trabajo colaborativo Grupo #2.docxmkkkkkkl
Estrategia de apoyo tecnología miguel angel solis
ACTIVIDAD 2.pdf j
Las nuevas tecnologías en la salud - enfermería técnica.
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
SAP Transportation Management para LSP, TM140 Col18
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
La electricidad y la electrónica .pdf n
Conceptos básicos de programación tecnología.pdf
Maste clas de estructura metálica y arquitectura
taller de informática - LEY DE OHM
Presentación de Redes de Datos modelo osi

Desarrollo android - 2 - arquitectura del sistema

  • 2. Índice 2 Historia ¿Qué es Android? Arquitectura del sistema Entorno de desarrollo Arquitectura de las aplicaciones Almacenamiento de datos Multimedia Práctica final
  • 3. Objetivos 3 Arquitectura del sistema Analizar la arquitectura que compone el sistema operativo Android. Características de la máquina Dalvik. Conocer la principales librerías de incluidas en la plataforma Android. Framework aplicaciones Android. Características fundamentales del Android market.
  • 5. Arquitectura Sistema: Linux Kernel  Versión 2.6.x del kernel de Linux.  Capa de abstracción entre el hardware y el software.  Android aprovecha:  La seguridad.  Gestión de memoria.  Gestión de procesos.  Red y modelo de drivers. 5
  • 6. Arquitectura Sistema: Linux Kernel (II)  Relación versiones Linux por versión Android 6 Versión Android Versión Linux Android 1.5 (Cupcake) 2.6.27 Android 1.6 (Donut) 2.6.29 Android 2.0 (Eclair) 2.6.29 Android 2.2 (Froyo) 2.6.32 Gingerbread 2.6.33
  • 7. Arquitectura Sistema: Librerías Android  Conjunto de librerías (C & C++) usadas por varios componentes Android del sistema (Application Framework).  Surface Manager: Gestión del acceso a la pantalla.  Media Framework: Reproducción de imágenes, audio y video.  SQLite: Pequeña base de datos relacional.  WebKit: Navegador (Browser) optimizado.  SGL: Gráficos 2D.  Open GL | ES: Librerías 3D.  FreeType: Renderización de vectores e imágenes (bitmap). 7
  • 8. Arquitectura Sistema: Android runtime Core Libraries: Formado por un conjunto de librerías base para ofrecer funcionalidad elemental y de bajo nivel, escritas en C y C++. Utiliza el Kernel de Linux para la ejecución de aplicaciones (1 aplicación = 1 proceso = 1 DVM) Máquina virtual Dalvik, con código preparado teniendo en cuenta la duración de las baterías y la limitación de memoria. 8
  • 9. Arquitectura Sistema: Dalvik Virtual Machine  Condicionantes de los dispositivos móviles  Poca duración de la batería.  Recursos muy escasos (memoria, cpu).  Limitaciones visuales (pantallas poca resolución).  Compartición y priorización de recursos.  Características de la DVM  Usada en entornos con restricciones de memoria y procesador.  Herramienta dx convierte .class (clase o aplicación en JAVA) a dex.  Ejecuta aplicaciones en formato .dex (Dalvik EXecutable).  Permite la ejecución de varias instancias a la vez.  No es una JVM, no ejecuta bytecode sino registros.  Clases de Java ME, AWT o Swing no están soportadas. 9 .JAVA .CLASS .DEX javac dx JVM DVM
  • 10. Arquitectura Sistema : Framework de aplicaciones Proporciona una plataforma abierta para el desarrollo que permite la reutilización de componentes. A través del framework, el desarrollador puede acceder a los dispositivos, información de ubicación, ejecutar servicios, etc,. Las aplicaciones del core utilizan este mismo APIs framework . Views, Content Providers, Managers... 10
  • 11. Arquitectura Sistema: Capa de aplicaciones 11  En esta capa se ubicarán las aplicaciones ‘preinstaladas’ y las desarrolladas por el desarrollador .  Aplicaciones escritas en lenguaje JAVA.  Aplicaciones incluidas por defecto:  Cliente email  Gestor SMS  Navegador  Contactos  Android Market… .JAVA .CLASS .DEX javac dx JVM DVM
  • 12. Arquitectura Sistema: Android Market  Permite distribuir aplicaciones de manera sencilla.  Cualquier desarrollador puede publicar en el Market, previo pago único de 25$.  Incluso aplicaciones no firmadas.  70% para el desarrollador / 30% para Google.  No se revisan las aplicaciones que se suben.  Selección a través de votaciones y comentarios.  Se pueden eliminar apps del market si dañan dispositivos, invasión de privacidad, etc.  Sólo en 9 países apps de pago.  <100k apps: 65% Gratuitas vs 35% Pago. 12
  • 13. Cifras Tamaño de las tiendas Número total de apps Agosto 2010 - Distimo
  • 15. Cifras Gratis vs De Pago Julio 2010 - Distimo
  • 16. Cifras Comparativas de precio Precio medio app de pago (Distimo Mayo 2010)
  • 17. Cifras ¡Tener el mayor número de aplicaciones no implica tener el mayor número de terminales… y viceversa!
  • 18. Cifras Y los desarrolladores, ¿Qué plataforma prefieren?
  • 19. Cifras Que les motiva a los desarrolladores para decantarse por una plataforma
  • 20. Conclusiones 20 Arquitectura del sistema  Analizar la arquitectura que compone el sistema operativo Android.  Características de la máquina Dalvik.  Conocer la principales librerías de incluidas en la plataforma Android.  Framework aplicaciones Android.  Características fundamentales del Android market.

Notas del editor

  • #2: Segundo tema (2) Veremos la arquitectura de Android &amp; Android Market
  • #3: Durará aproximadamente 45’-1hora
  • #5: Comentar overview desde bottom a top * Linux Kernel 2.6: Abstracción del hardware * Librerias: c/c++ utilizadas por los componentes Android * Runtime: Core library + máquina virtual dalvik * Aplication framework: Plataforma reutilizable de desarrollo opensource * Application: app que corren en los dispositivos Las capas inferiores ofrecen servicios a las superiores Los colores representan lenguajes (C, C++, Java)
  • #6: El usuario no ve el Linux (sólo a través adb Shell). Abstrae el software del hardware (Drivers…) La seguridad cada app un Linux User ID
  • #7: Gingerbread 2.6.33 + Honeycomb en 2.6.35 Ver Referencias: documentos entregables: REF003 – Linux
  • #8: Escritas en C y C++. Se exponen (encapsulan) en el Application Framework con nombres JAVA (android.os…etc)
  • #9: Cada app corre en un proceso con su propia Dalvik VM. Dalvik ha sido reescrita para ser eficiente (Multiple VM) Se apoya en Linux para hacer la gestión de memoria y threading.
  • #10: Dalvik = Pueblo Islandia del Ingeniero Dan Bornstein La DalvikVM entiende DEX y está basada en registros (optimizado). JVM entiende de Pilas. Un .DEX incluye múltiples .class
  • #11: Reutilización
  • #12: * Las aplicaciones incluidas como vimos dependen del teléfono.
  • #13: * La única revisión es si dañan dispositivos o privacidad
  • #14: Cifras para contextualizar el mercado de las aplicaciones móviles. - Apple store cerca de 300.000 aplicaciones. - Android cerca de 140.000
  • #15: -A nivel de crecimiento cuantitativo Android tiene mayor ritmo de crecimiento. -A nivel cualitativo Apple store cobra ventaja por el proceso de revisión.
  • #16: -Android es el que más gratuitas tiene (2/3) frente a 1/3 del resto.
  • #17: -Apple, Nokia y Android en el mismo rango. -RIM y Microsoft el doble, debido a que Blackberry app World y Windows Market Place (ojo no Windows Phone) Precio regulado &amp; imponen precio mínimo.
  • #18: -Tener el mayor número de dispositivo no implica tener el mayor numero de aplicaciones -Ejemplo Nokia con Symbian = 300 millones y solo 7000 apps -Apple con iPhone = 60 millones de aplicaciones y 300.000 apps
  • #19: Las plataformas preferidas son Android , Apple… por que…
  • #20: Lo mas motivante es: -mayor penetración de mercado (tienda app + comunidad) -ingresos potencias