curso de programacion en android
TRANSCRIPT
Introducción a la Programación en Android
Iker Perez de AlbenizCursillos de Septiembre 2010
Universidad de Deusto
http://www.ikeralbeniz.nethttp://www.deusto.es
Introducción
El objetivo de este curso es:
• Introducción a la plataforma android: estado actual, evolución de la plataforma
• Introducción a la plataforma android como desarrollador: entrono de programación y publicación
• Introducción a la programación android: teoría y practica básica de programación de pequeñas aplicaciones
Introducción
Mercado actual de los SmartPhones:
• Symbian• Windows Mobile• iPhone• Android• BlackBerry
Introducción
Perfiles de Usuario en PC:
Usuario General Windows
Usuario Techi/Técnico GNU/Linux
Usuario Techi/Elitista Mac
Introducción
Perfiles de Usuario en PC:
Usuario General Android
Usuario Techi/Técnico Android
Usuario Techi/Elitista iPhone
Existe un cuarto perfil: Blackberry
Introducción
Factores para el éxito de una plataforma:
• FanBoys
• Disponibilidad de Software Gratuito
• Facilidad de desarrollo y publicación
• Bajo coste / Promociones Operadoras
Introducción
Introducción
Introducción
Conclusiones:• iPhone: mercado mas maduro, plataforma mas
cerrada, posibilidades de crecimiento buenas.
• Android: menos conocido en el mercado, plataforma abierta y aun en un proceso de desarrollo (cambios), posibilidades de crecimiento impresionantes.
Android el teléfono de las masas!!
Introducción
¿En que me afecta en todo esto a la hora de programar?
• Actualmente están saliendo diferentes versiones de android en periodos muy cortos de tiempo.
• Cada nueva versión incorpora mas funcionalidades, posibilidades tanto a nivel funcional como a nivel estructural. (nuevas APIs).
• Actualmente existe un volumen no demasiado alto de terminales con muy diferentes versiones de android.
• Esperemos que cuando llegue el boom de esta plataforma esta sea mas estable.
Introducción
Distribución de versiones de android
http://developer.android.com/resources/dashboard/platform-versions.html
Introducción
Ejemplo:
Evento onClick para un botón en android 1.5
class MyActivity extends Activity {
findViewById(R.id.myButton).setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // Do stuff }}); }
Introducción
Ejemplo:
Evento onClick para un botón en android 1.6
class MyActivity extends Activity { public void myClickHandler(View target) { // Do stuff }}
<Button android:onClick="myClickHandler" />
También hay que tener en cuenta las capacidades a nivel de hardware…
Entorno Programación
SDK
Entorno Programación
Estructura de un Proyecto Android:
• Res (recursos)– drawable (imágenes –por defecto -)
• icon.png• Imagen.png
– drawable-jp (imágenes – japones-)• Icon.png• Imagen.png
– layout (diseños de pantalla)• main.xml
– values• strings.xml (textos – por defecto-)
– values-jp• Strings.xml (textos – en japones-)
• src (codigo java)• AndroidManifest.xml
Aplicación Android
Estructura .APK (ZIP) se compone de los siguientes archivos:
• classes.dex – Dalvik – Magic: dex\nXXX\0– Empaquetado de los .java compilados
• res (recursos)• META-INF (firmas de la aplicacion)• AndroidManifest.xml (compilado)• resources.arsc (relaciona los nombres de los recursos con sus
identificadores - R.java-)
Aplicación Android
Tipos de Aplicación:
• ActivityEs el componente mas común. Seria equivalente a un FORM o
ventana y a partir de la base Activity existen Activitys derivadas que implementan metodos para facilitar la integración de elementos como listas, mapas o tabs.
• Broadcast Receiver
Son componentes que escuchan eventos del generados por otras aplicaciones (llegada de un sms, bateria baja,..)
• Service
Servicios que se ejecutan en un segundo plano.• Content Provider
Son estructuras que permiten intercambian información entre aplicaciones
Entorno Programación
Localización:
Locale Code Language / Country Location of strings.xml Location of flag.png
Default English / United Kingdom
res/values/ res/drawable/
de-rDE German / Germany res/values-de/ res/drawable-de-rDE/
fr-rFR French / France res/values-fr/ res/drawable-fr-rFR/
fr-rCA French / Canada res/values-fr/ res/drawable-fr-rCA/
en-rCA English / Canada (res/values/) res/drawable-en-rCA/
ja-rJP Japanese / Japan res/values-ja/ res/drawable-ja-rJP/
en-rUS English / United States
(res/values/) res/drawable-en-rUS/
Sistema Publicación
Ejercicios Prácticos
Cliente Twitter