gratiszona

introduccion a la programacion Android

El ecosistema de Android se basa en dos pilares:
- Java
- SDK que permite a un entorno de desarrollo de facilitar la tarea del programador.
El SDK proporciona acceso ejemplos, documentacion y especialmente la programacion del sistema de la API y un emulador para probar las aplicaciones.
Estrategicamente, Google utiliza la licencia Apache para Android que permite la redistribucion de codigo de forma libre o no, y para hacer un uso comercial.
El plug-in de desarrollo de Android permite a la integracion con Eclipse SDK. Debe ser instalado como un plugin estandar especificando la URL del plugin.
despues, hay que especificar la ubicacion del SDK (previamente descargado y descomprimido) en las preferencias del plugin ADT.

El Sistema Operativo Android


Android es en realidad un sistema de la familia Linux, sin las herramientas GNU.
El sistema operativo se basa en:
· Kernel de Linux (y controladores)
· el acceso a la capa de abstraccion de hardware: Hardware Abstraction Layer (HAL)
· una maquina virtual Dalvik Virtual Machine
· aplicaciones (navegador, gestor de contactos, aplicaciones de telefonia ...)
· librerias (SSL, SQLite, OpenGL ES, etc ...)
[ Dalvik ] es el nombre de la maquina virtual de codigo abierto utilizado en sistemas Android. Esta maquina virtual  ejecuta ficheros .dex, que son mas compactas que los .class convencionales. Este formato evita, por ejemplo, la duplicacion de constantes String.
La propia maquina virtual utiliza menos espacio de memoria y el direccionamiento de las constantes se hace con un puntero de 32 bits.
[ Dalvik ] no es compatible con la JVM de Java SE, ni Java ME. La libreria de acceso esta completamente redefinida por Google.
El plugin de desarrollo de Eclipse: ADT (Android Developer Tools)
Un proyecto basado en el plugin ADT tiene la siguiente estructura de carpetas:
paquetes android
/src/ : codigo Java del proyecto
/libs/ : librerias de terceros
/res/ :
/res/ drawable : recursos de /res/ layout : Descripcion HMI XML
/res/value : Strings
/gen/ : recursos propios generados por ADT
/assets/ : recursos brutos (raw bytes)
/bin/ :
/bin/clases : las clases compiladas en .class.
/bin/classes.dex : ejecutable para la JVM Dalvik
/bin/myapp.zip : recursos de la aplicacion
/bin/myapp.apk : Aplicacion empaquetada con sus recursos y preparada para el despliegue
Una aplicacion Android puede estar compuesta por los siguientes elementos:
· actividades (android.app.Activity): parte de la aplicacion que le presenta una vista al usuario
· servicios (android.app.Service): actividad de fondo y sin vista asociada al usuario
· proveedores de contenidos (android.content.ContentProvider) permite el intercambio de informacion dentro y entre las aplicaciones
· widgets (android.appwidget *.): vision conjunta de la Oficina Android
· Intents o intenciones (android.content.Intent): Envia un mensaje a un componente externo sin nombrarle explicitamente
· receptores de Intenciones (android.content.BroadcastReceiver): se utiliza para declarar que se es capaz de responder a las Intenciones
· notificaciones (android.app.Notifications) para notificar al usuario de la ocurrencia de eventos
Siguiente: manifiesto de la aplicacion