Programación en android :: IES Emilio Jimneo
De WikiEducator
< Usuario:ManuelRomero | Android2
Revisión a fecha de 08:27 22 may 2013; ManuelRomero (Discusión | contribuciones)
Saltar a: navegación, buscar
DESARROLLO DE APLICACIONES CON ANDROID SDK
Contenido
- 1 ¡Bienvenido a este curso!
- 2 Recursos de la Web
- 2.1 Comunidad de desarrolladores de Android
- 2.2 Historia de Android
- 2.3 Versiones de Android
- 2.4 Carácterísticas de Android
- 2.5 Carácterísticas de Android
- 2.6 Carácterísticas de Android
- 2.7 Arquitectura de Android
- 2.8 Arquitectura del sistema operativo Android
- 2.9 NIVEL DE APLICACIONES
- 2.10 Arquitectura : FrameWork
- 2.11 Arquitectura : FrameWork (interfaces funcionales)
- 2.12 Arquitectura : Librerías
- 2.13 Arquitectura : Librería principal
- 2.14 Arquitectura : RunTime
- 2.15 Arquitectura: Nivel de kernel de Linux
- 2.16 Dónde está presente Android
- 2.17 Referencias
¡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
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 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)
- Tenemos las siguientes:
- 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
- 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.
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