Está en la página 1de 15

Curso gratuito de Android, todo lo necesario para que te inicies como desarrollado

Un pedazo de buen tuto para introducirse en el universo Android, y con la garantia de de Universidad Autnoma de Barcelona El sistema operativo de Google Android ha captado la atencin de cientos de desarrolladores en todo el mundo, y dada la exponencial evolucin del mismo parece lgico saber como crear aplicaciones para este sistema, el cual esta presenten en miles de dispositivos. Tambin es cierto que nadie nace con todo los conocimientos, y para quienes no dominan el ingls igual les resulta complicado leerse un manual en espaol, pero hoy os traigo una excelente Gua en Espaol para todos aquellos que deseen iniciarse comodesarrolladores de Android. La misma consta desde los conceptos bsicos hasta llevarte a un punto donde puedes continuar solo, todo esta muy bien explicado en diferentes captulos, que si deseas tener todo en un solo PDF tienes que donar como mnimo un euro, si no tienes la opcin de verlos en la web. Conceptos Generales 1. Entorno de desarrollo Android [Vol. 1] 2. Estructura de un proyecto Android [Vol. 1] 3. Componentes de una aplicacin Android [Vol. 1] 4. Desarrollando una aplicacin Android sencilla [Vol. 1] Interfaz de Usuario en Android 1. Interfaz de usuario en Android: Layouts [Vol. 1] 2. Interfaz de usuario en Android: Controles bsicos (I) [Vol. 1] 3. Interfaz de usuario en Android: Controles bsicos (II) [Vol. 1] 4. Interfaz de usuario en Android: Controles bsicos (III) [Vol. 1] 5. Interfaz de usuario en Android: Controles de seleccin (I) [Vol. 1] 6. Interfaz de usuario en Android: Controles de seleccin (II) [Vol. 1] 7. Interfaz de usuario en Android: Controles de seleccin (III) [Vol. 1] 8. Interfaz de usuario en Android: Controles de seleccin (IV) [Vol. 1] 9. Interfaz de usuario en Android: Controles personalizados (I) [Vol. 1] 10. Interfaz de usuario en Android: Controles personalizados (II) [Vol. 1] 11. Interfaz de usuario en Android: Controles personalizados (III) [Vol. 1]

Mens en Android 1. Mens en Android (I): Mens y Submens bsicos[Vol. 1] 2. Mens en Android (II): Mens Contextuales[Vol. 1] Widgets en Android 1. Interfaz de usuario en Android: Widgets (I) [Vol. 1] 2. Interfaz de usuario en Android: Widgets (II) [Vol. 1] Gestin de Preferencias en Android 1. Preferencias en Android I: SharedPreferences [Vol. 1] Tratamiento de XML en Android 1. Tratamiento de XML en Android (I): SAX [Vol. 1] 2. Tratamiento de XML en Android (II): SAX simplicado [Vol. 1] 3. Tratamiento de XML en Android (III): DOM [Vol. 1] 4. Tratamiento de XML en Android (IV): XmlPull [Vol. 1] Bases de Datos en Android 1. Bases de datos en Android (I): Primeros pasos con SQLite [Vol. 1] 2. Bases de datos en Android (II): Insercin, actualizacin y eliminacin de registros [Vol. 1] 3. Bases de datos en Android (III): Consulta y recuperacin de registros [Vol. 1] Localizacin Geogrfica en Android 1. Localizacin geogrfica en Android (I) 2. Localizacin geogrfica en Android (II) Mapas en Android 1. Mapas en Android (I): Preparativos y ejemplo bsico[Nuevo!] 2. Mapas en Android (II): Control MapView [Nuevo!]

Notificaciones en Android 1. Notificaciones en Android: Toast [Nuevo!] Depuracin de aplicaciones en Android Depuracin en Android: Logging

1.- Entorno de desarrollo Android por Sgoliver en 04/08/2010 en ANDROID, PROGRAMACIN A partir de ahora voy a publicar tambin algunos artculos sobre desarrollo paar la plataforma Android. Y para empezar, voy a describir los pasos bsicos para disponer en nuestro PC del entorno y las herramientas necesarias para comenzar a programar aplicaciones Android. No voy a ser exhaustivo, ya existen muy buenos tutoriales sobre la instalacin de Eclipse y Android, incluida al documentacin oficial de la plataforma. Adems, si has llegado hasta este blog quiero suponer que tienes unos conocimientos bsicos de Eclipse y Java, por lo que tan slo enumerar los pasos necesarios de instalacin y configuracin, y proporcionar los enlaces a las distintas herramientas. Vamos all. Paso 1. Descarga e instalacin de Eclipse. Si an no tienes instalado Eclipse, puedes descargar la ltima versin (la 3.7.1 en la ltima revisin de este artculo) desde este enlace. Recomiendo descargar por ejemplo la versin Eclipse IDE for Java Developers, y por supuesto descargar la versin apropiada para tu sistema operativo. La instalacin consiste simplemente en descomprimir el zip en la ubicacin deseada. Paso 2. Descargar el SDK de Android. El SDK de la plataforma Android se puede descargar desde aqu (en el momento de revisar este artculo la ltima versin es la r16, que funciona perfectamente con Eclipse 3.7.1). Una vez descargado, de nuevo bastar con descomprimir el zip en cualquier ubicacin o ejecutar el instalador estandar de windows. Paso 3. Descargar el plugin Android para Eclipse. Google pone a disposicin de los desarrolladores un plugin para Eclipse llamado Android Development Tools (ADT) que facilita en gran medida el desarrollo de aplicaciones para la plataforma. Podis descargarlo mediante las opciones de actualizacin de Eclipse, accediendo al men Help / Install new software e indicando la URL de descarga: https://dl-ssl.google.com/android/eclipse/ Se debe seleccionar e instalar el paquete completo Developer Tools, formado por Android DDMS yAndroid Development Tools. Paso 4. Configurar el plugin ADT. En la ventana de configuracin de Eclipse, se debe acceder a la seccin de Android e indicar la ruta en la que se ha instalado el SDK (paso 2).

Paso 5. Descargar los targets necesarios. Adems del SDK de Android comentado en el paso 2, tambin debemos descargar los llamados SDK Targets de Android, que no son ms que las libreras necesarias para desarrollar en cada una de las versiones concretas de Android. As, si queremos desarrollar por ejemplo para Android 1.6 tendremos que descargar su target correspondiente. Para ello, desde Eclipse debemos acceder al men Window / Android SDK and AVD Manager, y en la seccin Available Packages seleccionar e instalar todos los paquetes deseados.

Paso 6. Configurar un AVD. A la hora de probar y depurar aplicaciones Android no tendremos que hacerlo necesariamente sobre un dispositivo fsico, sino que podremos configurar un emulador o dispositivo virtual (Android Virtual Device, o AVD) donde poder realizar fcilmente estas tareas. Para ello, volveremos a acceder al AVD Manager, y en la seccin Virtual Devices podremos aadir tantos AVD como se necesiten (por ejemplo, configurados para distintas versiones de Android). Para configurar el AVD tan slo tendremos que indicar un nombre descriptivo, el target de Android que utilizar, y las caractersticas de hardware del dispositivo virtual, como por ejemplo su resolucin de pantalla, el tamao de la tarjeta SD, o la disponibilidad de GPS.

Y con este paso ya estamos preparados para crear nuestro primer proyecto para Android. Paso 7. Hola Mundo! en Android. Creamos un nuevo proyecto de tipo Android Project. Indicamos su nombre, el target deseado, el nombre de la aplicacin, el paquete java por defecto para nuestras clases y el nombre de la clase (Activity) principal.

Esta accin crear toda la estructura de carpetas necesaria para compilar un proyecto para Android. Hablaremos de ella ms adelante. Para ejecutar el proyecto tal cual podremos hacerlo como cualquier otro proyecto java configurando una nueva entrada de tipo Android Applications en la ventana de Run

Configurations. Al ejecutar el proyecto, se abrir un nuevo emulador Android y se cargar automticamente nuestra aplicacin.

2.- Estructura de un proyecto Android

por Sgoliver en 09/08/2010 en ANDROID, PROGRAMACIN Seguimos con el Curso de Programacin Android. Para empezar a comprender cmo se construye una aplicacin Android vamos a echar un vistazo a la estructura general de un proyecto tipo. Cuando creamos un nuevo proyecto Android en Eclipse se genera automticamente la estructura de carpetas necesaria para poder generar posteriormente la aplicacin. Esta estructura ser comn a cualquier aplicacin, independientemente de su tamao y complejidad. En la siguiente imagen vemos los elementos creados inicialmente para un nuevo proyecto Android:

Describamos los elementos principales. Carpeta /src/ Contiene todo el cdigo fuente de la aplicacin, cdigo de la interfaz grfica, clases auxiliares, etc. Inicialmente, Eclipse crear por nosotros el cdigo bsico de la pantalla (Activity) principal de la aplicacin, siempre bajo la estructura del paquete java definido.

Carpeta /res/ Contiente todos los ficheros de recursos necesarios para el proyecto: imgenes, vdeos, cadenas de texto, etc. Los diferentes tipos de recursos de debern distribuir entre las siguientes carpetas:

/res/drawable/. Contienen las imgenes de la aplicacin. Se puede dividir en /drawableldpi, /drawable-mdpi y /drawable-hdpi para utilizar diferentes recursos dependiendo de la resolucin del dispositivo. /res/layout/. Contienen los ficheros de definicin de las diferentes pantallas de la interfaz grfica. Se puede dividir en /layout y /layout-land para definir distintos layouts dependiendo de la orientacin del dispositivo. /res/anim/. Contiene la definicin de las animaciones utilizadas por la aplicacin. /res/menu/. Contiene la definicin de los mens de la aplicacin. /res/values/. Contiene otros recursos de la aplicacin como por ejemplo cadenas de texto (strings.xml), estilos (styles.xml), colores (colors.xml), etc. /res/xml/. Contiene los ficheros XML utilizados por la aplicacin. /res/raw/. Contiene recursos adicionales, normalmente en formato distinto a XML, que no se incluyan en el resto de carpetas de recursos.

Como ejemplo, para un proyecto nuevo Android, se crean los siguientes recursos para la aplicacin:

Carpeta /gen/ Contiene una serie de elementos de cdigo generados automticamente al compilar el proyecto. Cada vez que generamos nuestro proyecto, la maquinaria de compilacin de Android genera por nosotros una serie de ficheros fuente en java dirigidos al control de los recursos de la aplicacin.

El ms importante es el que se puede observar en la imagen, el fichero R.java, y la clase R. Esta clase R contendr en todo momento una serie de constantes con los ID de todos los recursos de la aplicacin incluidos en la carpeta /res/, de forma que podamos acceder facilmente a estos recursos desde nuestro cdigo a traves de este dato. As, por ejemplo, la constanteR.drawable.icon contendr el ID de la imagen icon.png contenida en la carpeta/res/drawable/. Veamos como ejemplo la clase R creada por defecto para un proyecto nuevo: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 } } public static final class string { public static final int app_name=0x7f040001; public static final int hello=0x7f040000; } public static final class layout { public static final int main=0x7f030000; public final class R { public static final class attr { } public static final class drawable { public static final int icon=0x7f020000; package net.sgoliver;

16

Carpeta /assets/ Contiene todos los dems ficheros auxiliares necesarios para la aplicacin (y que se incluirn en su propio paquete), como por ejemplo ficheros de configuracin, de datos, etc. La diferencia entre los recursos incluidos en la carpeta /res/raw/ y los incluidos en la carpeta/assets/ es que para los primeros se generar un ID en la clase R y se deber acceder a ellos con los diferentes mtodos de acceso a recursos. Para los segundos sin embargo no se generarn ID y se podr acceder a ellos por su ruta como a cualquier otro fichero del sistema. Usaremos uno u otro segn las necesidades de nuestra aplicacin. Fichero AndroidManifest.xml Contiene la definicin en XML de los aspectos principales de la aplicacin, como por ejemplo su identificacin (nombre, versin, icono, ), sus componentes (pantallas, mensajes, ), o los permisos necesarios para su ejecucin. Veremos ms adelante ms detalles de este fichero. En el siguiente post veremos los componentes software principales con los que podemos construir una aplicacin Android. Curso de Programacin Android en PDF

3.- Componentes de una aplicacin Android


POR SGOLIVER EN 11/08/2010 EN ANDROID, PROGRAMACIN

En el post anterior vimos la estructura de un proyecto Android y aprendimos dnde colocar cada uno de los elementos que componen una aplicacin, tanto elementos de software como recursos grficos o de datos. En ste nuevo post vamos a centrarnos especficamente en los primeros, es decir, veremos los distintos tipos de componentes de software con los que podremos construir una aplicacin Android. En Java o .NET estamos acostumbrados a manejar conceptos como ventana, control, eventos oservicios como los elementos bsicos en la construccin de una aplicacin. Pues bien, en Android vamos a disponer de esos mismos elementos bsicos aunque con un pequeo cambio en la terminologa y el enfoque. Repasemos los componentes principales que pueden formar parte de una aplicacin Android [Por claridad, y para evitar confusiones al consultar documentacin en ingls, intentar traducir lo menos posible los nombres originales de los componentes].

Activity Las actividades (activities) representan el componente principal de la interfaz grfica de una aplicacin Android. Se puede pensar en una actividad como el elemento anlogo a una ventana en cualquier otro lenguaje visual. View Los objetos view son los componentes bsicos con los que se construye la interfaz grfica de la aplicacin, anlogo por ejemplo a los controles de Java o .NET. De inicio, Android pone a nuestra disposicin una gran cantidad de controles bsicos, como cuadros de texto, botones, listas desplegables o imgenes, aunque tambin existe la posibilidad de extender la funcionalidad de estos controles bsicos o crear nuestros propios controles personalizados. Service Los servicios son componentes sin interfaz grfica que se ejecutan en segundo plano. En concepto, son exactamente iguales a los servicios presentes en cualquier otro sistema operativo. Los servicios pueden realizar cualquier tipo de acciones, por ejemplo actualizar datos, lanzar notificaciones, o incluso mostrar elementos visuales (activities) si se necesita en algn momento la interaccin con del usuario. Content Provider Un content provider es el mecanismo que se ha definido en Android para compartir datos entre aplicaciones. Mediante estos componentes es posible compartir determinados datos de nuestra aplicacin sin mostrar detalles sobre su almacenamiento interno, su estructura, o su implementacin. De la misma forma, nuestra aplicacin podr acceder a los datos de otra a travs de los content provider que se hayan definido. Broadcast Receiver Un broadcast receiver es un componente destinado a detectar y reaccionar ante determinados mensajes o eventos globales generados por el sistema (por ejemplo: Batera baja, SMS recibido, Tarjeta SD insertada, ) o por otras aplicaciones (cualquier aplicacin puede generar mensajes (intents, en terminologa Android) broadcast, es decir, no dirigidos a una aplicacin concreta sino a cualquiera que quiera escucharlo).

Widget Los widgets son elementos visuales, normalmente interactivos, que pueden mostrarse en la pantalla principal (home screen) del dispositivo Android y recibir actualizaciones peridicas. Permiten mostrar informacin de la aplicacin al usuario directamente sobre la pantalla principal. Intent Un intent es el elemento bsico de comunicacin entre los distintos componentes Android que hemos descrito anteriormente. Se pueden entender como los mensajes o peticiones que son enviados entre los distintos componentes de una aplicacin o entre distintas aplicaciones. Mediante un intent se puede mostrar una actividad desde cualquier otra, iniciar un servicio, enviar un mensaje broadcast, iniciar otra aplicacin, etc. En el siguiente post empezaremos ya a ver algo de cdigo, analizando al detalle una aplicacin sencilla.

A-GPS: (Assisted Global Positioning System (A-GPS) o Sistema de Posicionamiento Global Asistido) Un AGPS usa un Servidor de Asistencia que permite: * El Servidor de Asistencia pueden hacer saber al telfono dnde se encuentran aproximadamente por la clula a la que se encuentra conectado a la red celular. * El Servidor de Asistencia recibe la seal de satlite perfectamente, y posee grandes capacidades de cmputo, por lo que puede comparar seales recibidas procedentes del telfono y determinar una posicin precisa para informar al telfono o a los servicios de emergencia de tal posicin. * Puede proveer datos orbitales de los satlites GPS al telfono, hacindolo capaz de engancharse a los satlites, cuando de otra manera no podra, y calcular su posicin de manera autnoma. * Puede tener mejor conocimiento de las condiciones ionosfricas y otros errores que podran afectar la seal GPS que el telfono, dotndolo de un clculo ms preciso de su posicin. (Vea tambin Wide Area Augmentation System) ms info A2DP: (Advanced Audio Distribution Profile) Distribucin de audio avanzada. Define cmo se puede propagar un stream de audio (mono o estreo) entre dispositivos a travs de una conexin Bluetooth. El perfil A2DP establece los protocolos y procedimientos que realizarn la distribucin del contenido de audio de alta calidad en modo mono o estreo a travs de los canales ACL. Inicialmente se utilizaba en conjuncin con un transceptor intermedio conectado al jack de salida de audio por defecto que realizaba la conversin y transmisin. Actualmente, hay dispositivos Bluetooth 2.0 que soportan esta conexin sin esta necesidad. stos suelen soportar tambin AVRCP, HSP y HFP. A2DP puede transmitir un stream estreo en dos canales a una radio o unos auriculares. Este perfil utiliza AVDTP y GAVDP. Incluye soporte obligatorio para codecs sub-band de baja complejidad (SBC) y soporte opcional de MPEG-1, MPEG-2, AAC y ATRAC, junto con codecs definidos por el fabricante. La mayora de pilas implementan DRM (en concreto, el mecanismo SCMS-T). En estos casos no pueden conectarse unos auriculares para recibir audio de alta calidad ms info ACC: (Advanced Audio Coding (AAC)) Es un formato de audio digital comprimido con prdida. Fue diseado con el fin de reemplazar al MP3. Para un mismo nmero de impulsos por segundo (bitrate) y un mismo tamao de archivo MP3, el formato AAC es ms estable y tiene ms calidad,

produciendo un sonido ms cristalino. ACD: (Automatic Call Distribuidor) Distribuidor automtico de llamadas que permite reconocer el telfono donde se origina la llamada y presentar toda la informacin disponible sobre la persona que llama. AGI: (Acuerdo General de Interconexin) Se trata de un acuerdo firmado entre dos operadores para establecer los costes de la conexin entre ambos. ALS: Alternate Line Service Permite que se pueda administrar ms de un nmero de telfono en la misma tarjeta SIM teniendo la posibilidad de seleccionar la lnea que desea utilizar. AMDC: El Acceso Mltiple por Diferenciacin de Cdigo (AMDC) es un mtodo de transmisin inalmbrica digital por el cual las seales se codifican mediante una secuencia seudoaleatoria (que corresponde a un canal de comunicacin distinto) que el receptor tambin conoce y que, por tanto, puede utilizar para descodificar la seal recibida. El AMDC es una de las diversas tcnicas de espectro ensanchado. El AMDC ofrece una serie de ventajas sobre la transmisin analgica: menor nmero de llamadas perdidas, conservacin de la carga de la batera, transmisin ms segura y mayores opciones de servicio. AMOLED: (Active Matrix Organic Light Emitting Diode) u OLED de matriz activa y es una tecnologa de representacin. Con OLED nos referimos a un tipo especfico de tecnologa, unos dispositivos ultradelgados y ultra-brillantes que no requieren ningn tipo de luz de fondo, sin embargo, AMOLED se refiere a la tecnologa que permite dirigirnos a un pixel concreto. ms info AMPS: (Advanced Mobile Phone System) Sistema telefnico mvil avanzado de telefona mvil de primera generacin (1G) que evita interferencias entre llamadas gracias a su capacidad de dividir el espacio fsico entre dos mviles por las llamadas celdas, que separan las frecuencias. Actualmente est siendo reemplazado por sistemas GSM y D-AMPS. Fue usado en EEUU, America Latina, Nueva Zelanda, Australia y en zonas de Rusia y Asia-Pacfico. ANALGICO: Forma de procesamiento de la voz que la convierte en seal de radio, utilizando en el sistema ETACS o TACS. El sistema analgico est sujeto a interferencias, cortes de la comunicacin e interceptaciones. ANCHO DE BANDA:

Gama de frecuencias disponibles para las seales. Se mide en MHertzios. ANDROID: Android es un sistema operativo para dispositivos mviles. Est basado en GNU/Linux e inicialmente fue desarrollado por Google. La presentacin de la plataforma Android se realiz el 5 de noviembre de 2007 junto con la fundacin Open Handset Alliance, un consorcio de 48 compaas de hardware, software y telecomunicaciones comprometidas a la promocin de estndares abiertos para dispositivos mviles. Esta plataforma permite el desarrollo de aplicaciones por terceros (personas ajenas a Google), para lo cual, los desarrolladores deben de escribir cdigo gestionado en el lenguaje de programacin Java y controlar los dispositivos por medio de bibliotecas desarrolladas o adaptadas por Google, es decir, escribir programas en C u otros lenguajes, utilizando o no las bibliotecas de Google (compilndolas a cdigo nativo de ARM ). Sin embargo, este esquema de desarrollo no es oficialmente soportado por Google. La mayora del cdigo fuente de Android ha sido publicado bajo la licencia de software Apache, una licencia de software libre y cdigo fuente abierto. ms info ANTENA: Elemento de un telfono mvil que aumenta la seal de radio recibida. Puede ser antena fija, antena telescpica o antena interna. AOC: (Advice of Charge) Notificacin de importe de la comunicacin durante la llamada. AUTONOMA EN ESPERA: Tiempo mximo de duracin de la batera de serie totalmente cargada con el terminal en cobertura y en espera de recibir/enviar una llamada AUTONOMA EN LLAMADA: Tiempo mximo de duracin de la batera de serie totalmente cargada con el terminal en uso. AVRCP: Audio/Video Remote Control Profile El perfil AVRCP proporciona una interfaz estndar para controlar a distancia televisores, equipos de alta fidelidad o cualquier otro equipo electrnico y permitir as, que un nico control remoto o cualquier otro tipo de mando controle todo el equipo de audio y vdeo al que el usuario tiene acceso. El perfil AVRCP indica cmo controlar las caractersticas de transferencia continua de archivos de imagen y sonido, entre otras las funciones de pausa, stop, play de la reproduccin y el control del volumen, as como otras funciones de control remoto. Tambin permite extensiones especficas del fabricante. Su versin 1.3 permite transmitir informacin del estado de la fuente, por ejemplo el ttulo de una cancin.

También podría gustarte