taller android seedrocket

38
Taller de desarrollo Israel Ferrer and.roid.es

Upload: israel-camacho

Post on 22-Nov-2014

4.153 views

Category:

Education


2 download

DESCRIPTION

La presentación del taller Android impartido por and.roid.es en seedrocket

TRANSCRIPT

Page 1: Taller Android seedrocket

Taller de desarrollo

Israel Ferrer

and.roid.es

Page 2: Taller Android seedrocket

and.roid.es

• ¿Quien? Luis Moreno e Israel Ferrer.• ¿Cuando? Arranca en octubre del 2008• ¿Porqué? Llenar el vacío de información respecto a

Android en español y crear una comunidad abierta.• Objetivo actual: Desarrollo de aplicaciones para

clientes con un modelo de negocio abierto. Conocernos para trabajar juntos, pero dispersos en el territorio.

Page 3: Taller Android seedrocket

• aste.roid.es– Necesidades– Ideas de la gente– Aceptación– ¿Quién está en ello?– ¿Quién puede ayudarme?

Page 4: Taller Android seedrocket
Page 5: Taller Android seedrocket

“Hay Intel, ARM, MIPS. En realidad, pienso que Android es potencialmente una solución que puede ser implementada en todos estos mercados, y es nuevo, y es revolucionario. Android cambiará el juego.”

Andy Rubin, director of Google mobile platforms

Page 6: Taller Android seedrocket

Índice

1. ¿Qué es Android?

2. ¿Qué hace especial Android?

3. Arquitectura Android

4. Componentes Fundamentales

5. Mi primera aplicación

Page 7: Taller Android seedrocket

1. ¿Qué es Android?

• Android es la primera plataforma móvil abierta y gratuita que incluye un sistema operativo, el middleware y aplicaciones.

• Android= Kernel Linux “tunning” +Dalvik VM.

Page 8: Taller Android seedrocket

2. ¿Qué hace especial Android?• Plataforma abierta y gratuita de desarrollo.• El carácter software-libre implica una

comunidad software-libre.• Arquitectura basada en componentes, al estilo mashup puedes utilizar una parte de una aplicación en otra.

• Puedes reemplazar las aplicaciones de

serie por versiones mejoradas de otros.

Page 9: Taller Android seedrocket

2. ¿Qué hace especial Android?

• Portabilidad en un cualquier arquitectura actual y futura.

• Servicios disponibles para aplicaciones: GeoLocation, Compass, SQLite, Webkit,

• Conceptos interesantes: Widgets, carpetas activas.

• Gráficos y sonido: gráficos 2D con vectores, OpenGL ES, H.264, MP3 y ACC.

Page 10: Taller Android seedrocket

3. Arquitectura Android

Page 11: Taller Android seedrocket

4. Componentes Fundamentales

Page 12: Taller Android seedrocket

Activities

• Corresponde con una tarea de la aplicación. • Funcionan como una pila: Las nuevas

actividades van encima de las anteriores.• Solo una visible.• Solo una activa.• Ejemplo: Gestión SMS sería Activity: enviar,

recibir, leer, escribir, listar…

Page 13: Taller Android seedrocket

Views

• Sabe cómo dibujarse en pantalla. • Responde a eventos.• Se organizan en estructura de árbol para crear

GUI.• Ejemplo: Gestión SMS, cada una de las

pantallas que permitiría hacer una Activity como leer, escribir, recibir, enviar…

Page 14: Taller Android seedrocket

Services

• Se ejecutan en segundo plano, infinitamente.• No interaccionan con el usuario, no tienen UI.• Ejemplo: Gestión SMS, la aplicación estaría

siempre esperando un SMS, esa espera sería un Service

Page 15: Taller Android seedrocket

Intents

• Expresan la intención de hacer una acción.• Son una petición que permite activar un

Activity o Service.• Especifica mediante una URI los datos donde

actuar.• Ejemplo: Gestión SMS, desde la lectura de un

SMS, queremos enviar una respuesta. Ese cambio de Activity se hace mediante un Intent.

Page 16: Taller Android seedrocket

ContentProviders

• Un ContentProviders publica ciertos datos de una aplicación de manera que es accesible desde el resto de aplicaciones.

• Para acceder a los datos del ContentProvider solo puedes hacerlo mediante un objeto tipo ContentResolver.

• Ejemplo: Gestión SMS, ContentProvider para acceder a los sms para hacer estadísticas, búsquedas desde otra aplicación.

Page 17: Taller Android seedrocket

Notifications

• Avisos al usuario algún evento.• Se envían mediante el NotificationManager.• Notificaciones de tipo icono, luz del led,

sonido o vibración.• Ejemplo: Gestión SMS, al recibir un sms la

aplicación genera un sonido, vibración e icono.

Page 18: Taller Android seedrocket

AndroidManifest

• Fichero que explica Que puede hacer la aplicación y Como hacerlo.

• Se especifica los Intents que puede recibir cada Activity.

• Especifica permisos sobre servicios y librerías.• Ejemplo Gestión SMS: Permisos para leer

contactos, Intents que puede recibir la aplicación, los ContentProvider para compartir los datos...

Page 19: Taller Android seedrocket

5. Mi primera aplicación

• Eclipse: el IDE de Android• Aplicación por defecto• Estructura de la aplicación• Aplicación Hola Mundo “android style”

Page 20: Taller Android seedrocket

Eclipse: el IDE de Android

Page 21: Taller Android seedrocket

Aplicación por defecto

• Genera una aplicación plantilla

• Genera por defecto:– Drawable/icon.png– Layout/main.xml– Values/strings.xml– AndroidManifest.xml

Page 22: Taller Android seedrocket

Esqueleto de la aplicación

Page 23: Taller Android seedrocket

• /assets: fichero externo que sea necesario tipografías, jar’s

• /src: Aquí va todo el código Java de la aplicación.• /res: recursos de la aplicación

– /drawdable: imágenes.– /values: XML con valores strings, arrays, colors, dimens,

styles.– /layout: XML con las definiciones de pantallas (UI)

Esqueleto de la aplicación

Page 24: Taller Android seedrocket

Esqueleto de la aplicación

• /res: recursos de la aplicación– /anim: XML compilados como animaciones– /xml: XML compiladas que se pueden leer en

tiempo de ejecución con Resources.getXML().– /raw: ficheros. Añadidos sin compilar para usarlos

en el programa con Resources.openRawResource()

Page 25: Taller Android seedrocket

Aplicación Hola Mundo

Android Style = Hola Mundo Geolocalizado • Proyecto Android.• Android Manifest. • Layout Google Maps.• Activity HolaMundo.• GeoLocalizar con marcador propio.

Page 26: Taller Android seedrocket

Proyecto Android

Page 27: Taller Android seedrocket

Android Manifest

• Para usar los servicios GPS, Internet built-in: <uses-permission> hijo de <manifest>

• Para usar Google Maps y otras librerías: <uses-library> hijo de <application>

Page 28: Taller Android seedrocket

Layout Google Maps

• Definicion XML MapView:

• Importante conseguir tu propia apikey:

http://tinyurl.com/androidkeyapi• Nos pide el MD5 del keystore con el que

firmamos el paquete.

Page 29: Taller Android seedrocket

Layout Google Maps

• Usaremos la keystore por defecto de Eclipse. La ruta a la keystore se encuentra en

Eclipse->Preferencias->Android->Built• Ahora tendremos que ejecutar el siguiente

comando para sacar el MD5:keytool –list -keystore ruta/debug.keystore

• Añadimos la Keyapi a la declaración XML de la MapView

Page 30: Taller Android seedrocket

Layout Google Maps

• Añadir MapView-> Compila pero no funciona.• Falta modificar la Activity!!

Page 31: Taller Android seedrocket

Activity HolaMundo

• Para poder mostrar el MapView:

Page 32: Taller Android seedrocket

• El Objeto MyLocationOverlay es una capa que dibuja tu actual posición GPS. Te olvidas de gestionar: Location manager (GPS), Overlays.

• Código holamundo1

GeoLocalizar

Page 33: Taller Android seedrocket

Geolocalizar

• Location Manager->Location->Lat,Long• Con el GeoPoint objeto formado por Lat, Long

ya puedes posicionar tu itemOverlay.• Ojo! con la precisión variables para la Lat.,

Long.

Page 34: Taller Android seedrocket

Marcador Propio

• Clase HolaMundoOverlay: Múltiples Overlays con un marcador propio, definido en el constructor.

Page 35: Taller Android seedrocket

Marcador Propio

• MOverlayMarcador al construirlo le pasamos el marcador como parametro.

• Capamarcador es una capa que posicionamos con punto y la añadimos a MOverlayMarcador.

• MOverlayMarcador tiene una capa geoposicionada con la imagen androides.

Page 36: Taller Android seedrocket

Marcador Propio

• Finalmente, añadir este objeto dentro de la MapView.

• Con mapcontroller dejamos el mapa al zoom que queremos y centrado en el punto.

Page 37: Taller Android seedrocket

Felicidades!

• and.roid.es has you!• Código holamundo2

Page 38: Taller Android seedrocket

¿Preguntas?

¡Gracias por asistir!

http://and.roid.es

Israel Ferrer

[email protected]