Taller Android seedrocket
-
Upload
israel-camacho -
Category
Education
-
view
4.153 -
download
2
description
Transcript of Taller Android seedrocket
![Page 1: Taller Android seedrocket](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/1.jpg)
Taller de desarrollo
Israel Ferrer
and.roid.es
![Page 2: Taller Android seedrocket](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/2.jpg)
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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/3.jpg)
• aste.roid.es– Necesidades– Ideas de la gente– Aceptación– ¿Quién está en ello?– ¿Quién puede ayudarme?
![Page 4: Taller Android seedrocket](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/4.jpg)
![Page 5: Taller Android seedrocket](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/5.jpg)
“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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/6.jpg)
Í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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/7.jpg)
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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/8.jpg)
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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/9.jpg)
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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/10.jpg)
3. Arquitectura Android
![Page 11: Taller Android seedrocket](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/11.jpg)
4. Componentes Fundamentales
![Page 12: Taller Android seedrocket](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/12.jpg)
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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/13.jpg)
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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/14.jpg)
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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/15.jpg)
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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/16.jpg)
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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/17.jpg)
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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/18.jpg)
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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/19.jpg)
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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/20.jpg)
Eclipse: el IDE de Android
![Page 21: Taller Android seedrocket](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/21.jpg)
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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/22.jpg)
Esqueleto de la aplicación
![Page 23: Taller Android seedrocket](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/23.jpg)
• /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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/24.jpg)
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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/25.jpg)
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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/26.jpg)
Proyecto Android
![Page 27: Taller Android seedrocket](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/27.jpg)
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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/28.jpg)
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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/29.jpg)
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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/30.jpg)
Layout Google Maps
• Añadir MapView-> Compila pero no funciona.• Falta modificar la Activity!!
![Page 31: Taller Android seedrocket](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/31.jpg)
Activity HolaMundo
• Para poder mostrar el MapView:
![Page 32: Taller Android seedrocket](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/32.jpg)
• 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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/33.jpg)
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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/34.jpg)
Marcador Propio
• Clase HolaMundoOverlay: Múltiples Overlays con un marcador propio, definido en el constructor.
![Page 35: Taller Android seedrocket](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/35.jpg)
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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/36.jpg)
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](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/37.jpg)
Felicidades!
• and.roid.es has you!• Código holamundo2
![Page 38: Taller Android seedrocket](https://reader033.fdocuments.mx/reader033/viewer/2022051108/547020ebb4af9fa90a8b4663/html5/thumbnails/38.jpg)
¿Preguntas?
¡Gracias por asistir!
http://and.roid.es
Israel Ferrer