Introducción a la Programación
en Android
Iker Perez de Albeniz
Cursillos de Septiembre 2010
Universidad de Deusto
http://www.ikeralbeniz.net
http://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
<Button android:onClick="myClickHandler" />
class MyActivity extends Activity {
public void myClickHandler(View target) {
// Do stuff
}
}
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:
• Activity
Es 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 res/values/ res/drawable/
Kingdom
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 (res/values/) res/drawable-en-rUS/
States
Sistema Publicación
Ejercicios Prácticos
Cliente Twitter