Workshop de programación en Android

80
© Luis Muñoz Hueso con licencia Crea3ve Commons WORKSHOP DE PROGRAMACIÓN EN ANDROID Luis Muñoz Hueso @munozluis http://es.linkedin.com/in/lumunoz/ http://www.slideshare.net/lrmunoz

description

Transparencias del workshop de Programación en Android

Transcript of Workshop de programación en Android

Page 1: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

WORKSHOP DE PROGRAMACIÓN EN ANDROID

Luis Muñoz Hueso

@munozluis http://es.linkedin.com/in/lumunoz/

http://www.slideshare.net/lrmunoz

Page 2: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

INTRODUCCIÓN

Page 3: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

VUESTRO PROFESOR…

•  Luis Muñoz Hueso •  Ingeniero de Telecomunicación •  Posgrado en emprendimiento (entrepreneurship) •  +11 años de experiencia en desarrollo de

software en diferentes industrias y países •  Fundador de la red social Serendipio, y la

plataforma de desarrollo de apps Fabriapps •  Contacto:

–  Twitter: @munozluis –  Linkedin: http://es.linkedin.com/in/lumunoz –  Email: [email protected]

Page 4: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

MI TIMELINE 1996 2001 2002 2005 2006 2007 2010 2012

Page 5: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

EL MOMENTO QUE LO CAMBIÓ TODO

Julio 07 Noviembre 07

Page 6: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

LA TECNOLOGÍA MÁS PENETRANTE DE LA HISTORIA

Page 7: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

PUNTO DE INFLEXIÓN: MÁS SMARTPHONES QUE PCS

Page 8: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

SMARTPHONES EQUIVALE A APPS

Page 9: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

PRINCIPALES PLATAFORMAS

•  La plataforma líder es Android

•  El 90% del mercado lo copan Android, iOS, y la web móvil

Page 10: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

UN NUEVO NICHO PROFESIONAL

+200%  año/año*  +500K  nuevos  empleos  (US)  

2,9   21,7  22  

287,9  

0  

100  

200  

300  

400  

2012   2016  

Gra3s  

Pago  Evolución  exponencial  de  las  descargas  

*Fuente:  Dice.com,  Elan  **Fuente:  Sta3sta  

2011   2012  

Descargas  (miles  de  millones)  

Page 11: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

OPCIONES PARA DESARROLLO DE APPS

Page 12: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

REFERENCIAS Y RECURSOS

•  Documentación de Android –  http://developer.android.com/training/index.html

–  http://developer.android.com/guide/components/index.html

•  Libros –  Learning Android – O’Reilly –  Programming Android – O’Reilly

•  Stack overflow –  http://stackoverflow.com/

Page 13: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

CURSO DE ANDROID

•  Este workshop es parte de un curso de Android para principiantes de 20 horas

•  Para más información:

[email protected]

Page 14: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

EN ESTE CURSO…

•  Trataremos el uso de aplicaciones nativas en Android a un nivel introductorio –  Orientado a un entorno profesional

•  Otros cursos en proyecto: –  Niveles intermedio-avanzado de desarrollo nativo bajo Android

–  Desarrollo de aplicaciones nativas en iOS (niveles inicial-intermedio-avanzado).

–  Desarrollo de aplicaciones híbridas basadas en Phonegap (Apache Cordova) y HTML5

Page 15: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

A TENER EN CUENTA SOBRE EL CURSO

•  A veces escribiremos código o haremos cosas que no entenderemos (en principio) –  Tened un poco de paciencia J

•  Terminología en inglés –  Mótivo: búsquedas en foros, resolución de problemas, etc.

•  Estructura temporal: bloques de 25 min + 5 min de descanso –  4 bloques –  Descanso de 30 min –  4 bloques

Page 16: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

AGENDA DEL CURSO DE ANDROID

•  Día 1 –  Introducción –  Preparación del entorno de desarrollo –  Hello Android World! –  Fundamentos de la plataforma Android –  Estructura de un proyecto Android –  Herramientas del SDK

•  Día 2 –  Repaso de Java y Eclipse –  Arquitectura de las aplicaciones Android –  Diseño de una aplicación de ejemplo

Page 17: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

AGENDA DEL CURSO DE ANDROID

•  Día 3 –  Interfaz gráfica de las apps Android (UI)

•  Componentes gráficos y layouts •  Mejores prácticas para el diseño de Uis en Android

•  Día 4 –  Librerías Android

•  Bases de datos •  Comunicación con un servidor •  Acceso a las capacidades del teléfono

•  Día 5 –  Gestión del ciclo de vida de un app Android

•  Desarrollo, testeo, depuración, publicar en Google Play

–  Resumen del curso y próximos pasos.

Page 18: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

PREPARACIÓN DEL ENTORNO DE DESARROLLO

Page 19: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

QUÉ NECESITAMOS PARA DESARROLLAR EN ANDROID?

•  Un PC con uno de los sistemas operativos principales –  Recomendado Mac o Linux

•  Java 6 –  Se puede usar Java 7, pero compilando para 6

•  Un entorno de desarrollo (IDE) –  Como veremos, el mejor soportado y el más utilizado es Eclipse, por lo que se recomienda su uso

•  El SDK de Android •  Idealmente, un móvil Android con el que poder realizar pruebas en un terminal real –  No es estríctamente necesario

Page 20: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

JAVA

•  Descargar Java SE 6 SDK –  http://www.oracle.com/technetwork/java/javase/downloads/index.html

Page 21: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

FUNDAMENTOS DE JAVA

•  Lenguaje de programación creado por Sun Microsystems en 1995

•  Orientado a Objetos •  Basado en C++ y Smalltalk

–  Pero más simple •  Lenguaje interpretado independiente de la plataforma –  Máquina virtual – Write once, run everywhere

•  Multitud de beneficios –  Seguro, escalable, eficiente, simple, multi-hilo, librerías gráficas, etc.

Page 22: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

ECLIPSE

•  Instalar Eclipse Indigo Classic o EE Edition –  http://www.eclipse.org/downloads/

Page 23: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

FUNDAMENTOS DE ECLIPSE

•  Eclipse es un proyecto open source iniciado por IBM –  Basado en el antiguo VisualAge

•  Originalmente concebido para Java, se utiliza para multitud de lenguajes de programación –  El propio Eclipse está desarrollado en Java, con algunas extensiones

•  Arquitectura de plugins –  Eclipse es extensible mediante plugins orientados a diferentes propósitos (lenguajes de programación, herramientas, etc.)

Page 24: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

CONCEPTOS DE ECLIPSE

•  Workspace (entorno de trabajo) •  Proyectos •  Perspectivas

–  Java –  Java Browsing –  Debug

•  Plugins –  Todos los elementos de Eclipse son plugins

•  Arquitectura totalmente modular –  Plugins para multitud de usos

•  Inclusive para Android como veremos

Page 25: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

EL ENTORNO DE TRABAJO DE ECLIPSE

Page 26: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

SELECCIONAR EL JDK CORRECTO

Page 27: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

EJEMPLO: HELLO WORLD EN JAVA

Page 28: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

INSTALAR EL ANDROID SDK

•  http://developer.android.com/sdk/index.html –  Añadir al PATH

Page 29: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

CONTINUAR CON EL SDK MANAGER

•  Ejecutar “android” •  Seleccionar “platform-

tools” •  Seleccionar al menos

una SDK platform –  P.e. Android 4.1 –  Seleccionar una

“System image” (x86 si está disponible)

•  Extras –  Seleccionar “Android

Support Library” –  HAXM

Page 30: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

ESTRUCTURA DEL SDK

Page 31: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

INSTALAR ADT EN ECLIPSE

•  Help à Install new software… à Add… –  https://dl-ssl.google.com/android/eclipse/

Page 32: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

CONFIGURAR ADT Y ANDROID SDK

•  Eclipse à Preferences à Android à SDK location

Page 33: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

HELLO ANDROID WORLD!

Page 34: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

CREAR UN PROYECTO ANDROID

•  New à Other à Android Application Project

Page 35: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

CREAR UN PROYECTO ANDROID

Page 36: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

RESULTADO CREACIÓN PROYECTO

Page 37: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

CREAR UN AVD (ANDROID VIRTUAL DEVICE)

Page 38: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

AVD CON EMULACIÓN X86

•  “HAX is not working and emulator runs in emulation mode” –  http://stackoverflow.com/questions/10761696/android-

running-the-new-intel-emulator –  [Android SDK Root]\extras\intel

\Hardware_Accelerated_Execution_Manager

Page 39: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

ARRANCAR EL EMULADOR

Page 40: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

EL EMULADOR DE ANDROID

•  Se trata de un emulador, no un simulador –  Un simulador “simula” lo que se está ejecutando para que aparente el resultado final •  P.e. una vista previa en un constructor de ventanas

•  Los binarios sobre el simulador y los de producción son diferentes

–  Un emulador “emula” una plataforma y el código que se quiere ejecutar, encima de otra que probablemente sea diferente •  P.e. un sistema ARM sobre una plataforma x86 •  La razón por la cual a veces el emulador es lento •  Las aplicaciones se ejecutan encima de la misma imagen que se instala en el móvil –  Resultado fidedigno

Page 41: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

LANZAR HELLO ANDROID!

•  Right-click à Run As à Android Application

Page 42: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

ANDROID DEVICE CHOOSER

Page 43: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

LANZAR HELLO ANDROID EN UN TERMINAL

•  En Windows es necesario instalar los drivers del fabricante –  Terminales Google: descargables desde el Android Manager

–  Otros fábricantes: descargar el driver OEM correspondiente •  http://developer.android.com/tools/extras/oem-usb.html

•  No es necesario en el caso de Mac/Linux •  Ejecutar el proyecto desde Eclipse •  Seleccionar el dispositivo una vez reconocido en el “Android Device Chooser”

Page 44: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

LANZAR HELLO ANDROID EN UN TERMINAL

Page 45: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

FUNDAMENTOS DE LA PLATAFORMA ANDROID

Page 46: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

HISTORIA DE ANDROID

•  2003 - Android Inc. se funda en Palo Alto liderado por Andy Rubin

•  2005 - Google compra Android Inc. –  Rumores sobre el lanzamiento del “GPhone”

•  2007 – Google anuncia Android junto con la Open Handset Alliance

•  2008 – Se libera el primer móvil Android –  HTC Dream G1

•  2010 – El sistema Android se convierte en la plataforma líder en smartphones

•  2011 - Google compra Motorola •  2012 y futuro – Otros factores de forma y

dispositivos

Page 47: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

HISTORIA DE ANDROID

Page 48: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

CLAVES DEL ÉXITO DE ANDROID

•  Antes que Android y iOS ya existían los smartphones y estándares para desarrollar sobre ellos –  Java J2ME

•  Android no fue el primer sistema operativo para móviles Open Source –  Iniciativa Openmoko

•  Ecosistema alrededor de la plataforma –  Apoyo de los fabricantes –  Creación de apps –  Generación de contenido –  Segmento de precio

Page 49: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

VERSIONES DE ANDROID Versión   API  level   Apodo  Android  1.0   1   Android  

Android  1.1   2   Android  

Android  1.5   3   Cupcake  

Android  1.6   4   Donut  

Android  2.0   5   Éclair  

Android  2.01   6   Éclair  

Android  2.1   7   Éclair  

Android  2.2   8   Froyo  

Android  2.3   9   Gingerbread  

Android  2.3.3   10   Gingerbread  

Android  3.x   11,  12,  13   Honeycomb  

Android  4.0   14,  15   Ice  Cream  Sandwich  

Android  4.1   16   Jelly  Bean  

Android  4.2   17   Jelly  Bean  (también)  

Page 50: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

VERSIONES DE ANDROID

Page 51: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

DISTRIBUCIÓN DE VERSIONES

Page 52: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

EVOLUCIÓN DE LAS VERSIONES

Page 53: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

FAMILIAS

•  Google Nexus –  Familia de dispositivos implementación de referencia de Android •  Primeros en recibir actualizaciones •  Recomendados para desarrollo •  Hasta ahora, 3 fabricantes

–  HTC, Samsung, Asus

•  Versiones de fabricantes –  HTC: SenseUI –  Samsung: TouchWiz –  Motorola: MotoBlur

•  “With Google” –  Versiones con licencia para incluir las apps de Google •  Maps, Gmail, Gtalk

Page 54: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

PILA TECNOLÓGICA

Page 55: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

LINUX KERNEL

•  Android está construido sobre el Kernel de Linux (2.6 y 3.x) –  Abstracción del hardware (drivers) –  Gestión de memoria –  Gestión de procesos –  Networking –  Seguridad

•  Muchas cosas de Linux quedan fuera –  Gestión de usuarios, X11, mount, etc.

•  Hardware base: Arquitecturas ARM –  Versiones x86 para las APIs más recientes

•  El usuario nunca accede al subsistema Linux directamente

•  El desarrollador sí puede acceder a través del shell adb

Page 56: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

LIBRERÍAS

•  Webkit: Framework de navegador web –  Desarrollado por Apple como base de Safari (y otras aplicaciones OS X), también es el motor usado por Chrome.

•  OpenGL: Para los gráficos •  Codecs: Para soportar los estándares de audio/video más comunes

•  SQLite: Base de datos •  Surface manager: Sistema de ventanas •  Freetype: Motor de fuentes •  Y muchas más…

Page 57: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

DALVIK Y JAVA

•  El elemento fundamental del desarrollo Android

•  Es una “Virtual Machine” de Java (VM) –  Optimizada para dispositivos móviles (uso eficiente de la CPU y ahorro de batería)

•  Existen diferencias respecto a la versión de Oracle –  Código à Bytecode .class à Ficheros .dex –  .dex ≈ “Dalvik Executable” –  Las librerías difieren

•  Por ejemplo se elimina todo lo referente a AWT/Swing y se añaden librerías específicas de Android –  P.e. utilidades Base64

Page 58: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

APPLICATION FRAMEWORK

•  Librerías desarrolladas específicamente para Android –  Orientadas al desarrollo en Smartphones

•  Exponen las capacidades de la plataforma a las apps que se construyen sobre ellas

•  Cada “API Level” contiene una serie de capacidades distintas de las anteriores –  Mejoras y nuevas capacidades de manera incremental

–  También algunas APIs se deshechan (deprecation) •  Android Support Library

–  Permite emplear APIs recientes en versiones antiguas de Android

Page 59: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

APLICACIONES

•  Son el código que corre por encima de la API de Android, y que cumplen una función de valor para el usuario –  Aplicaciones del sistema, Aplicaciones de desarrolladores, juegos, servicios, etc.

•  Cada vez más se les conoce como “apps” •  Consisten en un fichero con extensión .apk

–  Formado por el ejecutable Dalvik junto con los recursos (iconos, xml, audio/vídeo, etc.) y librerías adicionales

–  Se trata de un fichero Zip •  Deben firmarse

–  Pero para testeo vale una clave de desarrollo

Page 60: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

DISTRIBUCIÓN DE APPS

•  El mecanismo principal es a través de un “store” –  El principal es Google Play

•  Hay que pagar un registro de $25 (una vez) –  Pero hay muchos más –  Amazon Appstore

•  http://www.amazon.com/mobile-apps/ –  GetJar

•  http://www.getjar.com/

•  Pero hay más mecanismos: “Side Loading” –  Email, Descargar de una web, USB, etc.

Page 61: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

DISTRIBUCIÓN DE APPS

•  Habilitar “Unknown sources” – Fuentes desconocidas –  Para instalar desde otra fuente que no sea Android Play •  Otros app stores •  “Side Loading”

Page 62: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

SISTEMA DE ARCHIVOS

•  Tres puntos principales –  Sistema, Apps, SD

•  Cada app tiene su propio subsistema –  /data/data/app.package

•  La tarjeta SD siempre se supone presente –  Todas las apps tienen

acceso •  La partición del

sistema contiene el SO –  Específico del

fabricante o genérico

Page 63: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

ESTRUCTURA DE UN PROYECTO ANDROID

Page 64: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

ESTRUCTURA DE UN PROYECTO ANDROID

Page 65: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

ELEMENTOS PRINCIPALES

•  Bajo “src” se encuentra el código fuente de nuestra app

•  Bajo “res” se encuentran los recursos de nuestra app

•  Bajo “gen” se encuentra el código autogenerado a partir de los recursos –  Clase R: el enlace entre el código fuente y los recursos

•  Bajo “libs” se encuentran las librerias Android que nuestra app requiere

•  AndroidManifest.xml •  Otros ficheros y directorios

Page 66: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

ANDROID MANIFEST

Page 67: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

RECURSOS

•  Bajo “values” se almacenan cadenas y estilos •  Bajo “layout” se define la interfaz gráfica

(UI) para cada “Activity” •  Bajo “drawable” se almacenan los diferentes

recursos gráficos según el tipo de pantalla •  Bajo “menu” se almacenan la configuración de

menú para cada actividad •  Los recursos son especializables para

diferentes configuraciones –  Idioma, formato de pantalla, versión de la API…

•  Más tipos de recursos –  http://developer.android.com/guide/topics/resources/available-resources.html

Page 68: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

ALGUNOS RECURSOS IMPORTANTES

•  El fichero values/strings.xml almacena las cadenas de texto de la aplicación –  Utilizado para la internacionalización (I18N) de la app

Page 69: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

ALGUNOS RECURSOS IMPORTANTES

•  Los ficheros layout/*.xml definen la interfaz de las diferentes ventanas de la app –  El plugin ADT integra un editor visual avanzado para editar los “widgets” de la ventana

Page 70: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

LA CLASE R

•  La clase R es el enlace entre el código Java y los recursos –  Permite acceder a los recursos con comodidad desde el código

•  Es autogenerada

Page 71: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

EL CÓDIGO JAVA

•  Al final, toda la lógica de nuestra app se encuentra en el código Java

•  La unidad fundamental de código en Android es la “Activity” –  Se puede decir que cada “Activity” representa una pantalla de nuestro app

Page 72: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

ASISTENTE PARA LA CREACIÓN DE RECURSOS

•  Los recursos pueden ser cualificados según el entorno en tiempo de ejecución –  El Android Runtime decide que opción elegir según el dispositivo

•  Se traduce en carpetas con “qualifiers” –  Es recomendable usar el asistente XML de Android

Page 73: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

TIPOS DE PANTALLA

•  Android maneja 2 parámetros de pantalla –  Tamaño –  Densidad

•  Se deben dejar los recursos gráficos apropiados en cada directorio cualificado

Page 74: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

ANDROID DEVELOPER TOOLS

Page 75: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

ADB – ANDROID DEBUG BRIDGE

•  Se trata del proceso que comunica los dispositivos (reales o emuladores) con el hardware de desarrollo –  Siempre, incluido el emulador, consiste en hardware independiente real o emulado

•  Muchas veces se vuelve inestable –  adb devices –  adb kill-server –  adb start-server

Page 76: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

KEYSTORES

•  Todas las aplicaciones Android deben ser firmadas

•  Producción: clave válida durante 25 años

•  Desarrollo: clave válida durante 1 año –  Generada automáticamente por las “tools”

–  Si expira basta con borrarla

Page 77: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

ANDROID

•  Utilidad para gestionar el SDK –  ./android

•  También se utiliza para gestionar proyectos desde la línea de comandos –  http://developer.android.com/tools/projects/projects-cmdline.html

android create project \ --target <target_ID> \ --name <your_project_name> \ --path path/to/your/project \ --activity <your_activity_name> \ --package <your_package_namespace>

android update project \ --name <project_name> \ --target <target_ID> \ --path <path_to_your_project>

Page 78: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

ANT

•  Ant es una utilidad genérica para compilar proyectos Java –  Muy empleado en la comunidad Java

•  Se utiliza mucho en Android si se emplea la línea de comandos

Page 79: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

DDMS

Page 80: Workshop de programación en Android

©  Luis  Muñoz  Hueso  con  licencia    Crea3ve  Commons  

TRACEVIEW