|
|
Línea 204: |
Línea 204: |
| ===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 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''. |
| + | *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"> |
Revisión de 08:31 22 may 2013
DESARROLLO DE APLICACIONES CON ANDROID SDK
¡Bienvenido a este curso!
Qué es android
- Es una plataforma software y un Sistema Operativo basada en el núcleo de Linux.
- Aplicado a un subconjunto de dispositivos móviles y tablet;
- Como cualquier sistema operativo permite gestionar y controlar el hardware del dispositivo, como GPS, cámara de fotos,etc;
- También la ejecución de programas en dicho entorno.
- Para gestionar hardware tan variado (el que pueden contener dispositivos móviles), se usan bibliotecas desarrolladas o adaptadas por principalmente por Google.
- Para el desarrollo de aplicaciones se usa el lenguaje de programación Java
Código abierto
Android es una plataforma de código abierto.
- Esto quiere decir, que cualquier desarrollador puede crear y desarrollar aplicaciones escritas con lenguaje C u otros lenguajes y compilarlas a código nativo de ARM (API de Android)
- Android se puede desarrollar usando diferentes lenguajes :C, VisualBasic (.NET), C++, C#, QT (Que no deja de ser C++)
Entornos de desarrollo
- Existen diferentes entornos para desarrollar aplicaciones en android.
- Basic4Android
- Visual Studio con SDK: Android de Mono. C y C#
- App Inventor
- Live Code Entorno para desarrollar para aplicaciones móviles de diferentes plataformas
- In Design CS6
- En java con IDE Eclipse, Intellij Idea, y ahora en pruebas Android studio
Entornos de desarrollo información
Comunidad de desarrolladores de Android
- Stack Overflow
- un sitio colaborativo de preguntas y respuestas para desarrolladores
- Los desarrolladores votan las respuestas lo cual da confianza sobre las buenas respuestas
- Google Android Training
- Tenemos numerosas clases agrupadas por temas
- Tenemos un manual de como empezar e ir avanzando
- Es una importante y garantizada fuente de información
- Android Discuss
- es un grupo de debate y discusión alojado en google; Seguido muy de cerca por el equipo de Android en Google
- Buen sitio para aclarar dudas y aprender trucos y consejos.
Historia de Android
- Inicialmente desarrodo por Android Inc., una pequeña compañía o startup (así se conoce a los negocios con amplias posibilidades de crecimiento el EEUU) fundada en California en 2003
- En julio de 2005, Google adquirió Android Inc.
- En diciembre de 2006 aumentó notablemente la especulación sobre que el sistema Android de Google entraría en el mercado de la telefonía móvil.
- En septiembre de 2007, se conocía que Google había solicitado diversas patentes en el área de la telefonía móvil.
- El 5 de noviembre de 2007 se creó la Open Handset Alliance, un consorcio de más de 48 compañias de software y hardware que concluyeron la finalidad de desarrollar est´ndares abiertos para dispositivos móviles.
- La Open Handset Alliance, la OHA estrenó su primer producto, Android, una plataforma para dispositivos móviles construida sobre la versión 2.6 de Linux.
- El 9 de diciembre de 2008, se anunció que 14 nuevos miembros se unirían al proyecto Android, incluyendo PacketVideo, ARM Holdings, Atheros Communications, Asustek, Garmin, Softbank, Sony Ericsson, Toshiba, Vodafone y ZTE.
Versiones de Android
breve historia de las versiones de android
Versión de android |
API |
Nombre en clave
|
Android 4.2 |
17 |
JELLY_BEAN_MR1
|
Android 4.1, 4.1.1 |
16 |
JELLY_BEAN
|
Android 4.0.3, 4.0.4 |
15 |
ICE_CREAM_SANDWICH_MR1
|
Android 4.0, 4.0.1, 4.0.2 |
14 |
ICE_CREAM_SANDWICH
|
Android 3.2 |
13 |
HONEYCOMB_MR2
|
Android 3.1.x |
12 |
HONEYCOMB_MR1
|
Android 3.0.x |
11 |
HONEYCOMB
|
Android 2.3.4-Android 2.3.3 |
10 |
GINGERBREAD_MR1
|
Android 2.3.2-Android 2.3.1-Android 2.3 |
9 |
GINGERBREAD
|
Android 2.2.x |
8 |
FROYO
|
Android 2.1.x |
7 |
ECLAIR_MR1
|
Android 2.0.1 |
6 |
ECLAIR_0_1
|
Android 2.0 |
5 |
ECLAIR
|
Android 1.6 |
4 |
DONUT
|
Android 1.5 |
3 |
CUPCAKE
|
Android 1.1 |
2 |
BASE_1_1
|
Android 1.0 |
1 |
BASE
|
Carácterísticas de Android
- Almacenamiento
- Utiliza SQLite: base de datos relacional y ligera.
- Conectividad
- Soporta las siguientes tecnologías para conexiones
GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, incluyendo A2DP, AVRCP), Wi-Fi, LTE, WiMAX
- Mensajería
- tanto SMS como MMS
- Navegador Web
- Basado en código abierte de WebKit junto con JavaScript V8 de Chrome
Carácterísticas de Android
- Multimedia
- Soporte para medios con formatos comunes de audio, video e imágenes planas
- incluye los siguientes soportes
H.263, H.264(1) ,MPEG-4 SP, AMR, AMR-WB(2), AAC, HE-AAC(1), MP3, MIDI, Ogg Vorgis, WAV, JPEG, PNG, GIF Y BMP
- En contenedor 3GP o MP4
- En contenedor 3GP
- Soporte Harware (Siempre que el dispositivo disponga del hardware)
- Sensor acelerómetro, cámaram brújula digital, sensor de proximidad y GPS
- Multipantalla táctil multipunto
- entre 5 y 10 puntos de reconocimeintos simultáneos
Carácterísticas de Android
- Multitarea
- Soporte Flash
- La versión 2.1 de Android soporta Flash 10.1
- Tethering
- Soporta el uso compartido de conexiones a Internet como un punto de acceso por cable/inalámbrico
- Framework de aplicaciones
- permite el reemplazo y la reutilización de los componentes.
- Máquina virtual Dalvik
- Base de llamadas de instancias muy similar a Java. Para entornos de desarrollo
Arquitectura de Android
Arquitectura del sistema operativo Android
- El sistema operativo Android se divide en 5 secciones de 4 niveles principales
Consta de los siguientes niveles que posteriormente comentaremos
- Nivel de aplicación
- Nivel de arquitectura de software de la aplicación o framework de aplicaciones
- Nivel de librerías (Formado por librerías y y nivel de tiempo de ejecución de android
- Nivel de Kernel de Linux
NIVEL DE APLICACIONES
- Este nivel referencia a todas las aplicaciones que se distribuyen con el sistema operativo
- Entre ellas tendremos seguro:
- contactos
- cliente de correo
- calendario, y algun otro servicio mínimo
- También se incluyen todas las aplicaciones que podemos descargar e instalar desde Google Play
Arquitectura : FrameWork
- El Framework proporciona muchas interfaces de programación
- 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.
Arquitectura : FrameWork (interfaces funcionales)
- Proveedor de contenido
Para permitir a las aplicaciones acceder a datos y otros programas de aplicación
- Gestor de recursos
para gestionar las partes que no son programa como codificación multilenguaje, fotos y efectos de sonido.
- Gestor de notificaciones
para permitir a las aplicaciones notificar a la interfaz de mensajes de usuarios
Arquitectura : Librerías
- Son librerías enlazadas de C y C++, conectadas en dos direciones
- Hacia arriba con el framework de aplicaciones
- Hacia abajo con el kernel del SO
Arquitectura : Librería principal
- La libería principal incluye las siguientes:
- Una librería de sistema C
- Una librería multimedia
- Una librería de red
- Una librería de base de datos
- Una librería de 3D
- Una librería de fuentes
- Una librería de WebKit para funcionalidades de navegación web.
Arquitectura : RunTime
- A este nivel tenemos la librería del kernel y la máquina virtual de 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.
- 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.
- 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.-
Arquitectura: Nivel de kernel de Linux
- Esta basado en un kernel 2.6
- Éste es el kernel sobre el que se basa Android.
- Contienen todos los controladores de dispositivos de bajo nivel para los diversos componentes de hardware
Dónde está presente Android
- Smartphones
- Tablets
- Dispositivos de libros electrónicos
- NetBooks
- Reproductores MP4
- Internet TV