Diferencia entre revisiones de «Usuario:ManuelRomero/Android2/Introduccion»
De WikiEducator
(→Arquitectura: Nivel de kernel de Linux) |
(→Versiones de Android) |
||
(22 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 2: | Línea 2: | ||
<br> | <br> | ||
{{#widget:Slides}} | {{#widget:Slides}} | ||
− | {{MiTitulo| Programación en android | + | {{MiTitulo| Programación en android }} |
<div class="slides layout-regular template-default"> | <div class="slides layout-regular template-default"> | ||
Línea 73: | Línea 73: | ||
|+breve historia de las versiones de android | |+breve historia de las versiones de android | ||
!Versión de android!!API!! Nombre en clave | !Versión de android!!API!! Nombre en clave | ||
+ | |- | ||
+ | |Android 4.3||18||JELLY_BEAN | ||
+ | |- | ||
+ | |Android 4.2||17||JELLY_BEAN | ||
|- | |- | ||
|Android 4.2||17||JELLY_BEAN_MR1 | |Android 4.2||17||JELLY_BEAN_MR1 | ||
Línea 90: | Línea 94: | ||
|Android 2.3.4-Android 2.3.3||10||GINGERBREAD_MR1 | |Android 2.3.4-Android 2.3.3||10||GINGERBREAD_MR1 | ||
|- | |- | ||
+ | |} | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | |||
+ | ===Versiones de Android (Continuacion)=== | ||
+ | {| class="wikitable" | ||
+ | |+breve historia de las versiones de android | ||
+ | !Versión de android!!API!! Nombre en clave | ||
+ | |- | ||
+ | |||
|Android 2.3.2-Android 2.3.1-Android 2.3||9||GINGERBREAD | |Android 2.3.2-Android 2.3.1-Android 2.3||9||GINGERBREAD | ||
|- | |- | ||
Línea 111: | Línea 125: | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
+ | |||
+ | ===Qué version usan los dispositivos=== | ||
+ | *A la hora de desarrollar una aplicación habría que ver qué versiones tienen los dispositivos | ||
+ | *Google facilita un estudio con esta información | ||
+ | *Conviene echarle un vistazo | ||
+ | http://developer.android.com/about/dashboards/index.html | ||
+ | *Esto es muy importante ya que nosotros dependemos de versiones de API | ||
+ | *si mi aplicación usa API de version 15 por ejemplo, no se podrá ejecutar en dispositivos que tengan API de inferior version | ||
+ | *Solución de compromiso | ||
+ | *No usar API de versión moderna implica llegar a más público | ||
+ | *No usar API de versión moderna implica no poder usar nuevas funionalidades | ||
+ | |||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | |||
===Carácterísticas de Android=== | ===Carácterísticas de Android=== | ||
;Almacenamiento | ;Almacenamiento | ||
Línea 131: | Línea 160: | ||
;Soporte Harware (Siempre que el dispositivo disponga del hardware) | ;Soporte Harware (Siempre que el dispositivo disponga del hardware) | ||
:Sensor acelerómetro, cámaram brújula digital, sensor de proximidad y GPS | :Sensor acelerómetro, cámaram brújula digital, sensor de proximidad y GPS | ||
− | |||
− | |||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
+ | |||
===Carácterísticas de Android=== | ===Carácterísticas de Android=== | ||
+ | ;Multipantalla táctil multipunto | ||
+ | :entre 5 y 10 puntos de reconocimeintos simultáneos | ||
;Multitarea | ;Multitarea | ||
;Soporte Flash:La versión 2.1 de Android soporta Flash 10.1 | ;Soporte Flash:La versión 2.1 de Android soporta Flash 10.1 | ||
Línea 162: | Línea 192: | ||
===NIVEL DE APLICACIONES=== | ===NIVEL DE APLICACIONES=== | ||
*Este nivel referencia a todas las aplicaciones que se distribuyen con el sistema operativo | *Este nivel referencia a todas las aplicaciones que se distribuyen con el sistema operativo | ||
+ | *Cada una de ellas ha de correr en una máquina virutal Dalvik | ||
*Entre ellas tendremos seguro: | *Entre ellas tendremos seguro: | ||
#contactos | #contactos | ||
Línea 173: | Línea 204: | ||
*El Framework proporciona muchas interfaces de programación | *El Framework proporciona muchas interfaces de programación | ||
*Esto posibilita una programación sencilla simplificando el desarrollo y reutilizando recursos | *Esto posibilita una programación sencilla simplificando el desarrollo y reutilizando recursos | ||
− | *Todos los desarrolladores de aplicaciones Android, tienen acceso total al código fuente usado en las aplicaciones base. | + | *Todos los desarrolladores de aplicaciones Android, tienen acceso total al código fuente usado en las aplicaciones base. |
− | ===Arquitectura : FrameWork ( | + | </div> |
− | *Tenemos las siguientes: | + | <div class="slide"> |
− | # | + | |
− | Para permitir a las aplicaciones acceder a datos y otros programas de aplicación | + | ===Arquitectura : FrameWork (entorno de desarrollo de aplicaciones) === |
+ | En ella tenemos una serie de componentes, accesibles para los desarrollo de aplicaciones. | ||
+ | Lo que desarrollemos se puede reutilizar ya que puede implementar uno de los componentes disponibles | ||
+ | *Tenemos las siguientes elementos: | ||
+ | #View | ||
+ | Es la base de los componentes gráficos p.e. un botón es una clase que extiende de view. | ||
+ | El SDK de android aunque accede a gran parte de JRE, p.e. la clase Swing no lo incorpora | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | ===Arquitectura : FrameWork (entorno de desarrollo de aplicaciones) === | ||
+ | #Activity | ||
+ | :Gestiona las actividades y la pila de ejecución arrancando, parando ocultano o eliminando actividades | ||
+ | #Content Provider | ||
+ | :Para permitir a las aplicaciones acceder a datos y otros programas de aplicación | ||
#Gestor de recursos | #Gestor de recursos | ||
− | + | :para gestionar las partes que no son programa como codificación multilenguaje, fotos y efectos de sonido. | |
#Gestor de notificaciones | #Gestor de notificaciones | ||
− | + | :para permitir a las aplicaciones notificar a la interfaz de mensajes de usuarios, meidante la barra de estado | |
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
Línea 189: | Línea 233: | ||
#Hacia arriba con el framework de aplicaciones | #Hacia arriba con el framework de aplicaciones | ||
#Hacia abajo con el kernel del SO | #Hacia abajo con el kernel del SO | ||
+ | </div> | ||
+ | <div class="slide"> | ||
− | ===Arquitectura : Librería principal=== | + | ===Arquitectura : Librería principal o nativas === |
*La libería principal incluye las siguientes: | *La libería principal incluye las siguientes: | ||
#Una librería de sistema C | #Una librería de sistema C | ||
− | #Una librería multimedia | + | #Una librería multimedia (Soporta MPEG4, H.264, MP3, AAC, AMR, JPG, PNG) |
− | # | + | #Librería de administrador de superficies: acceso a la representación 2D y 3D. |
− | #Una librería de base de datos | + | #SGL Motor gráfico 2D |
− | #Una librería de 3D | + | #Una librería de base de datos SQLite |
− | #Una librería de fuentes | + | </div> |
+ | <div class="slide"> | ||
+ | ===Arquitectura : Librería principal o nativas === | ||
+ | #Una librería de 3D implemntación de OpenGL ES 1.0 | ||
+ | #Una librería de fuentes bitmap y renderizado vectorial | ||
#Una librería de WebKit para funcionalidades de navegación web. | #Una librería de WebKit para funcionalidades de navegación web. | ||
+ | #Librería de seguridad : SSL cifrado de Secure Socket Layer | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
===Arquitectura : RunTime=== | ===Arquitectura : RunTime=== | ||
− | *A este nivel tenemos la librería del kernel y la máquina virtual de Dalvik | + | *A este nivel tenemos la librería del kernel y la máquina virtual de [http://en.wikipedia.org/wiki/Dalvik_(software) Dalvik] |
+ | *Se usa esta MV y no la de Java por las limitaciones de memoria y velocidad de los dispositivos. | ||
*Android incorpora un set de librerías que aportan la mayor parte de las funcionalidades disponibles en las librerías base del lenguaje de programación Java. | *Android incorpora un set de librerías que aportan la mayor parte de las funcionalidades disponibles en las librerías base del lenguaje de programación Java. | ||
− | *La Máquina Virtual está basada en registros, y corre clases compiladas por el compilador de Java que anteriormente han sido transformadas al formato .dex (Dalvik Executable) por la herramienta ''dx''. | + | *La Máquina Virtual está basada en registros, y corre clases compiladas por el compilador de Java que anteriormente han sido transformadas al formato .dex (Dalvik Executable) por la herramienta ''dx''. |
+ | </div> | ||
+ | <div class="slide"> | ||
+ | ===Arquitectura : RunTime=== | ||
+ | *Los ficheros dex están obtimizados en espacio (menos instrucciones menos espacio y más rápida la ejecución) | ||
+ | *Cada aplicación se ejecuta en una instancia de una máquia virtual. | ||
+ | *Linus crfea un thread con una instanacia de la MV Dalvik | ||
+ | *Esto es un principio de seguridad importante, y por ese motivo hay que dar permisos para acceder al hardware en el desarrollo de la aplicación.- | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> |
Última revisión de 17:52 23 oct 2013