taller en port aventura
DESCRIPTION
Charla en el Port Aventura sobre Android con motivo de los 25 años del Carnet Jove.TRANSCRIPT
logo
Contenido
TarracoDroid
Comunidad de Usuarios Android de Tarragona
Tomas Gonzalez
11 de mayo de 2011
Tomas Gonzalez TarracoDroid
logo
Contenido
Festa Carnet Jove 2011 - Port Aventura
Tomas Gonzalez TarracoDroid
logo
Contenido
Contenido
1 Objetivos
2 TarracoDroid?
3 Introduccion a las aplicaciones
4 Software necesario
5 La primera aplicacion
6 Aplicacion PortAventura
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
Objetivos
TarracoDroid
Introduccion a la aplicaciones Android
Software necesario
La primera aplicacion
Aplicacion PortAventura
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
TarracoDroid?
Que es TarracoDroid?
Comunidad de Usuarios Android de Tarragona
Motivaciones
Aprender juntos a desarrollar para la plataforma Android (Sdki/o Ndk)Hacer proyectos de aplicacionesHacer de Beta Testers de aplicaciones en fase de desarrollo.
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
ComponentesRecursos de un proyecto AndroidDirectorios y la clase RIntroduccion a los IntentsIntroduccion a los MenusIntroduccion a las Notificaciones y Toast
Introduccion a las aplicaciones
Activities: Son las encargadas de mostrar la interfaz ygestionar los eventos (notificaciones, clics)
Services: Se ejecutan en background.
Broadcast receivers: Responden a peticiones o sucesos delsistema
Content Providers: Guardan informacion y la ponen endisposicion de otras apps
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
ComponentesRecursos de un proyecto AndroidDirectorios y la clase RIntroduccion a los IntentsIntroduccion a los MenusIntroduccion a las Notificaciones y Toast
Componentes de una App
Se inician de forma independiente. El usuario o el sistema laspuede arrancar, ejecutar, pausar, resumir, parar y reiniciar
Dada esta independencia, se pueden reutilizar y reemplazarpor otras actividades.
Ejemplo: Una aplicacion de llamandas, utiliza 4 actividades(telefono, registro de llamandas, contactos y preferidos)
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
ComponentesRecursos de un proyecto AndroidDirectorios y la clase RIntroduccion a los IntentsIntroduccion a los MenusIntroduccion a las Notificaciones y Toast
Components de una App
Otros componentes de una aplicacion:
Services
Content providers
Broadcast receivers
Intents
Notifications
Elementos Graficos
Persistent Storage
MapView Activity
Otros:Storage, network, multimedia, GPS, Phone Services.
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
ComponentesRecursos de un proyecto AndroidDirectorios y la clase RIntroduccion a los IntentsIntroduccion a los MenusIntroduccion a las Notificaciones y Toast
Proyecto Android
Un proyecto Android puede contener los siguientes recursos:
LayoutsImagenesCadenas de textoSonidosColoresTemasAnimaciones...
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
ComponentesRecursos de un proyecto AndroidDirectorios y la clase RIntroduccion a los IntentsIntroduccion a los MenusIntroduccion a las Notificaciones y Toast
La clase R
La clase R es generada de forma automatica por el compiladorde Android.
Contiene los identificadores de todos los elementos queforman nuestra aplicacion.
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
ComponentesRecursos de un proyecto AndroidDirectorios y la clase RIntroduccion a los IntentsIntroduccion a los MenusIntroduccion a las Notificaciones y Toast
Intents
Arrancar Activies.
Los intents permiten paso de parametros entre actividades oaplicaciones
Invocacion Implicita, el gestor de intenciones decide laactividad mas apropiada.Invocacion Explicita, se pide el arranque de una actividad enconcreto
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
ComponentesRecursos de un proyecto AndroidDirectorios y la clase RIntroduccion a los IntentsIntroduccion a los MenusIntroduccion a las Notificaciones y Toast
Menu
Aparecen al apretar la tecla Menu del dispositivo Android.
No ocupan espacio en la pantalla cuando no son necesarios.
Pueden haber como maximo 6 opciones en el menu visibles almismo tempo.
El Expanded Menu muestra el resto de opciones si hay mas de6.
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
ComponentesRecursos de un proyecto AndroidDirectorios y la clase RIntroduccion a los IntentsIntroduccion a los MenusIntroduccion a las Notificaciones y Toast
Menus
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
ComponentesRecursos de un proyecto AndroidDirectorios y la clase RIntroduccion a los IntentsIntroduccion a los MenusIntroduccion a las Notificaciones y Toast
Tipos de Menus
Options Menu, depende de la activity.
Context Menu, esta disponible en cualquier vista (3 seg.)
Submenu, muestra las opciones de un menu principal y nopuede tener iconos.
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
ComponentesRecursos de un proyecto AndroidDirectorios y la clase RIntroduccion a los IntentsIntroduccion a los MenusIntroduccion a las Notificaciones y Toast
Menus
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
ComponentesRecursos de un proyecto AndroidDirectorios y la clase RIntroduccion a los IntentsIntroduccion a los MenusIntroduccion a las Notificaciones y Toast
Caracterısticas de las Notificaciones
Icono
Un ticker y un texto expandido
Lanza un Intent cuando el usuario las selecciona
Sonido, luz, vibracion
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
ComponentesRecursos de un proyecto AndroidDirectorios y la clase RIntroduccion a los IntentsIntroduccion a los MenusIntroduccion a las Notificaciones y Toast
Notificacion
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
ComponentesRecursos de un proyecto AndroidDirectorios y la clase RIntroduccion a los IntentsIntroduccion a los MenusIntroduccion a las Notificaciones y Toast
Notificacion
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
ComponentesRecursos de un proyecto AndroidDirectorios y la clase RIntroduccion a los IntentsIntroduccion a los MenusIntroduccion a las Notificaciones y Toast
Caracterısticas del Toast
Notificaciones cortas
Notifican al usuario sin interrumpirlo
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
ComponentesRecursos de un proyecto AndroidDirectorios y la clase RIntroduccion a los IntentsIntroduccion a los MenusIntroduccion a las Notificaciones y Toast
Toast
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
Instalacion ADTInstalar SDK Platform Android X.YConfiguracion ADT
Software necesario
Eclipse IDE
Android Sdk (Java,32 bits)
Android Ndk (C++, opcional)
ADT eclipse plugin
Java Sun SDK / OpenJDK
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
Instalacion ADTInstalar SDK Platform Android X.YConfiguracion ADT
Instalacion ADT
Android Development Tools (ADT)
Acceso integrado en el eclipse de adb, ddms, ...
Instalacion indicando el repositorio del ADT:
Menu Ayuda → Instalar SoftwareClicar boton Anadirhttp://dl-ssl.google.com/android/eclipse
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
Instalacion ADTInstalar SDK Platform Android X.YConfiguracion ADT
http://dl-ssl.google.com/android/eclipse
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
Instalacion ADTInstalar SDK Platform Android X.YConfiguracion ADT
Configuracion ADT
Hay que vincular la instalacion del plugin ADT con el AndroidSDK que hemos instalado anteriormente.
Indicar al eclipse donde esta el Android SDK instalado MenuVentana->Preferencias->Android
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
Instalacion ADTInstalar SDK Platform Android X.YConfiguracion ADT
Configuracion ADT
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
Instalacion ADTInstalar SDK Platform Android X.YConfiguracion ADT
Que nos proporciona ADT?
Interfaz grafica de los comandos Android SDK
Nos permite gestionar:
Gestionar versiones anteriores y mas nuevas del android SDKVersiones APIs de Google propietariasVersiones plataformas nuevas: Nexus S, Tablets, ...
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
Instalacion ADTInstalar SDK Platform Android X.YConfiguracion ADT
Instalacion plataformas adicionales
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
Android Virtual DevicesSeleccion Api LevelSeleccion medida del displaySeleccion medida memoria externa SDSeleccion suporte de Hardware
Crear nuestro primer proyecto
Crear un proyecto Android vacio.
Menu Archivo → Nuevo → Proyecto → Android
Dar un nombre al proyecto: PortAventuraIndicar que API se utilizara cuando se compilaDar un nombre a la aplicacion: PortAventuraIndicar el paquete al que pertenece la aplicacio:com.tarracodroid.actes.PortAventuraDar un nombre a la tarea: PortAventura
Resultado : Hello World, PortAventura!
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
Android Virtual DevicesSeleccion Api LevelSeleccion medida del displaySeleccion medida memoria externa SDSeleccion suporte de Hardware
Como ejecutamos nuestra aplicacion?
Dispositivo real
Dispositivo emulado AVD (Android Virtual Device)
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
Android Virtual DevicesSeleccion Api LevelSeleccion medida del displaySeleccion medida memoria externa SDSeleccion suporte de Hardware
Android Virtual Devices
Crear un dispositivo emulado para ejecutar nuestra aplicacion.
Menu Window → Android SDK and AVD ManagerClicar boton New
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
Android Virtual DevicesSeleccion Api LevelSeleccion medida del displaySeleccion medida memoria externa SDSeleccion suporte de Hardware
Seleccion Api Level
Campo TargetTiene que ser la misma o inferior a la que tiene instalada eldispositivo real.
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
Android Virtual DevicesSeleccion Api LevelSeleccion medida del displaySeleccion medida memoria externa SDSeleccion suporte de Hardware
Seleccion medida del display
Campo Built-in:
HTC Desire: 480 X 800 WVGAHTC Wildfire: 240 x 320 QVGA
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
Android Virtual DevicesSeleccion Api LevelSeleccion medida del displaySeleccion medida memoria externa SDSeleccion suporte de Hardware
Seleccion medida memoria externa SD
Campo Size
No hace falta que sea la medida real del dispositivo.
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
Android Virtual DevicesSeleccion Api LevelSeleccion medida del displaySeleccion medida memoria externa SDSeleccion suporte de Hardware
Seleccion suporte de Hardware
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
Android Virtual DevicesSeleccion Api LevelSeleccion medida del displaySeleccion medida memoria externa SDSeleccion suporte de Hardware
Ejecutar nuestra primera aplicacion
Menu Ejecutar → EjecutarSeleccionar Aplicacion Android
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
CaracterısticasPantalla InicialPantalla Lista de ActividadesPantalla Mostrar ActividadConclusiones
Caracterısticas
Menus
Submenus
Activity, ListActivity
Intent
Toast
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
CaracterısticasPantalla InicialPantalla Lista de ActividadesPantalla Mostrar ActividadConclusiones
Pantalla Inicial
Declaracion del Menu
Creacion del Menu (Inflate)
Intent para la creacion de la Pantalla Actividades
Modificacion Manifest
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
CaracterısticasPantalla InicialPantalla Lista de ActividadesPantalla Mostrar ActividadConclusiones
0on Menu
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
CaracterısticasPantalla InicialPantalla Lista de ActividadesPantalla Mostrar ActividadConclusiones
Creacion Menu
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
CaracterısticasPantalla InicialPantalla Lista de ActividadesPantalla Mostrar ActividadConclusiones
Creacion Menu
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
CaracterısticasPantalla InicialPantalla Lista de ActividadesPantalla Mostrar ActividadConclusiones
Creacion Menu
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
CaracterısticasPantalla InicialPantalla Lista de ActividadesPantalla Mostrar ActividadConclusiones
Creacion Menu
Tenemos que vincular el menu definido en el xml con laactivity
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
CaracterısticasPantalla InicialPantalla Lista de ActividadesPantalla Mostrar ActividadConclusiones
Creacion Menu
Definimos el comportamiento al seleccionar un menu.
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
CaracterısticasPantalla InicialPantalla Lista de ActividadesPantalla Mostrar ActividadConclusiones
Pantalla Lista de Actividades
Declaracion del Menu
Creacion del Menu (Inflate)
ListView
Intent para la creacion de la Pantalla Mostrar Actividad
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
CaracterısticasPantalla InicialPantalla Lista de ActividadesPantalla Mostrar ActividadConclusiones
Pantalla Lista de Actividades
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
CaracterısticasPantalla InicialPantalla Lista de ActividadesPantalla Mostrar ActividadConclusiones
Pantalla Lista de Actividades
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
CaracterısticasPantalla InicialPantalla Lista de ActividadesPantalla Mostrar ActividadConclusiones
Pantalla Lista de Actividades
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
CaracterısticasPantalla InicialPantalla Lista de ActividadesPantalla Mostrar ActividadConclusiones
Pantalla Lista de Actividades
Paso de parametros entre activities de una misma aplicacion:
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
CaracterısticasPantalla InicialPantalla Lista de ActividadesPantalla Mostrar ActividadConclusiones
Pantalla Mostrar Actividad
Declaracion del Menu
Creacion del Menu (Inflate)
TextView
Intent para invocar google calendar con paso parametros
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
CaracterısticasPantalla InicialPantalla Lista de ActividadesPantalla Mostrar ActividadConclusiones
Pantalla Lista de Actividades
Los datos intercambiados entre actividades se muestran enTextViews.
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
CaracterısticasPantalla InicialPantalla Lista de ActividadesPantalla Mostrar ActividadConclusiones
Pantalla Lista de Actividades
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
CaracterısticasPantalla InicialPantalla Lista de ActividadesPantalla Mostrar ActividadConclusiones
Pantalla Lista de Actividades
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
CaracterısticasPantalla InicialPantalla Lista de ActividadesPantalla Mostrar ActividadConclusiones
Pantalla Lista de Actividades
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
CaracterısticasPantalla InicialPantalla Lista de ActividadesPantalla Mostrar ActividadConclusiones
Pantalla Lista de Actividades
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
CaracterısticasPantalla InicialPantalla Lista de ActividadesPantalla Mostrar ActividadConclusiones
Pantalla Lista de Actividades
Toast, aviso emergente.
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
CaracterısticasPantalla InicialPantalla Lista de ActividadesPantalla Mostrar ActividadConclusiones
Conclusiones
Desarrollar nuestra primera aplicacion es relativamentesencillo.
Los elementos graficos se declaran en xml.
Hay que vincular nuestros xml con las Activities. (Menu,Layouts, ...)
Los Intents nos permiten invocar y pasar parametros.
Tomas Gonzalez TarracoDroid
logo
ObjetivosTarracoDroid?
Introduccion a las aplicacionesSoftware necesario
La primera aplicacionAplicacion PortAventura
CaracterısticasPantalla InicialPantalla Lista de ActividadesPantalla Mostrar ActividadConclusiones
TarracoDroid
Contacto:
correo: [email protected],[email protected]
twitter: @TarracoDroid i @TomasGiS
www.tarracodroid.com
Tomas Gonzalez TarracoDroid