taller android seedrocket

Post on 22-Nov-2014

4.153 Views

Category:

Education

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

Taller de desarrollo

Israel Ferrer

and.roid.es

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.

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

“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

Índice

1. ¿Qué es Android?

2. ¿Qué hace especial Android?

3. Arquitectura Android

4. Componentes Fundamentales

5. Mi primera aplicación

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.

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.

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.

3. Arquitectura Android

4. Componentes Fundamentales

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…

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…

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

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.

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.

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.

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

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”

Eclipse: el IDE de Android

Aplicación por defecto

• Genera una aplicación plantilla

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

Esqueleto de la aplicación

• /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

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

Aplicación Hola Mundo

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

Proyecto Android

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>

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.

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

Layout Google Maps

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

Activity HolaMundo

• Para poder mostrar el MapView:

• 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

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.

Marcador Propio

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

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.

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.

Felicidades!

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

¿Preguntas?

¡Gracias por asistir!

http://and.roid.es

Israel Ferrer

and@roid.es

top related