Curso de programacion en android

20
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

Transcript of Curso de programacion en android

Page 1: Curso de programacion en android

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

Page 2: Curso de programacion en android

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

Page 3: Curso de programacion en android

Introducción

Mercado actual de los SmartPhones:

• Symbian• Windows Mobile• iPhone• Android• BlackBerry

Page 4: Curso de programacion en android

Introducción

Perfiles de Usuario en PC:

Usuario General Windows

Usuario Techi/Técnico GNU/Linux

Usuario Techi/Elitista Mac

Page 5: Curso de programacion en android

Introducción

Perfiles de Usuario en PC:

Usuario General Android

Usuario Techi/Técnico Android

Usuario Techi/Elitista iPhone

Existe un cuarto perfil: Blackberry

Page 6: Curso de programacion en android

Introducción

Factores para el éxito de una plataforma:

• FanBoys

• Disponibilidad de Software Gratuito

• Facilidad de desarrollo y publicación

• Bajo coste / Promociones Operadoras

Page 7: Curso de programacion en android

Introducción

Page 8: Curso de programacion en android

Introducción

Page 9: Curso de programacion en android

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!!

Page 10: Curso de programacion en android

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.

Page 11: Curso de programacion en android

Introducción

Distribución de versiones de android

http://developer.android.com/resources/dashboard/platform-versions.html

Page 12: Curso de programacion en android

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    }});   }

Page 13: Curso de programacion en android

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…

Page 14: Curso de programacion en android

Entorno Programación

SDK

Page 15: Curso de programacion en android

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

Page 16: Curso de programacion en android

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/

Page 17: Curso de programacion en android

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-)

Page 18: Curso de programacion en android

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

Page 19: Curso de programacion en android

Sistema Publicación

Page 20: Curso de programacion en android

Ejercicios Prácticos

Cliente Twitter