taller aplicaciones móviles - 2012 - 01

70
Apps Móviles Andrés González

Upload: leoyanez

Post on 14-Dec-2015

214 views

Category:

Documents


0 download

DESCRIPTION

taller app moviles

TRANSCRIPT

Page 1: Taller Aplicaciones Móviles - 2012 - 01

Apps MóvilesAndrés González

Page 2: Taller Aplicaciones Móviles - 2012 - 01

Programa● Entorno de Desarrollo

○ Eclipse y SDK○ ADV○ Logcat○ Control del Emulador

● Android Manifest● Layouts

○ Tipos○ Snippets○ Menús

Page 3: Taller Aplicaciones Móviles - 2012 - 01

Programa● Recursos

○ Strings○ Imágenes○ Íconos

● Actividades○ Descripción○ Ciclo de Vida

● Servicios○ Descipción○ Ciclo de Vida

Page 4: Taller Aplicaciones Móviles - 2012 - 01

Programa● Intents

○ Para Actividades○ Para Servicios○ Filtros y Broadcast

● Preferencias○ SharedPreferences○ Preferencias en XML

● Bases de Datos● Mapas

○ Listeners○ Overlays

Page 5: Taller Aplicaciones Móviles - 2012 - 01

Programa● Notificaciones● Mensajes

Page 6: Taller Aplicaciones Móviles - 2012 - 01

IDE● Entorno de Trabajo para desarrollar las

aplicaciones● Facilita acciones repetitivas y la detección

de errores● Obtenible todo junto en un pack

proporcionado por Google

Page 7: Taller Aplicaciones Móviles - 2012 - 01

IDE:ADV● Crea y modifíca máquinas virtuales● Incluye la posibilidad de agregar o quitar

características para probar aplicaciones en diferentes escenarios○ Soporte de teclado○ Camaras○ Tipo de procesador○ Acelerómetro

Page 8: Taller Aplicaciones Móviles - 2012 - 01

IDE:ADV

Page 9: Taller Aplicaciones Móviles - 2012 - 01

IDE:ADV:Nueva

Page 10: Taller Aplicaciones Móviles - 2012 - 01

IDE:Logcat

Page 11: Taller Aplicaciones Móviles - 2012 - 01

IDE:Control de Emulador

Page 12: Taller Aplicaciones Móviles - 2012 - 01

AndroidManifest● Contiene información de la aplicación

○ Nombre de package○ Versión○ SDK○ Nombre de la aplicación○ Ícono○ Nodos○ Filtros para Intents○ Listeners○ Permisos

Page 13: Taller Aplicaciones Móviles - 2012 - 01

AndroidManifest:Nodos

Page 14: Taller Aplicaciones Móviles - 2012 - 01

Layouts● Tipos

○ LinearLayout■ Descripción■ Horizontal■ Vertical

○ Relativo■ Descripción

○ ScrollView■ Descripción

○ Tabs■ Descripción

Page 15: Taller Aplicaciones Móviles - 2012 - 01

Layouts:LinearLayout● Por defecto usa todo el ancho del padre● Puede contener otros layouts● Admite propiedades como

○ Background○ Padding○ Margin○ Gravity○ Orientation

Page 16: Taller Aplicaciones Móviles - 2012 - 01

Layouts:LinearLayout

Page 17: Taller Aplicaciones Móviles - 2012 - 01

Layouts:RelativeLayout● Layout "fluido"● Acomoda todo en base a referencias● Permite los mismos atributos que el layout

lineal, menos la orientación● Utilizar prestando atención a diferentes

densidades de pantallas● Cambiar ID de snippets puede provocar

problemas

Page 18: Taller Aplicaciones Móviles - 2012 - 01

Layouts:RelativeLayout

Page 19: Taller Aplicaciones Móviles - 2012 - 01

Layouts:ScrollView● Utilizado cuando el contenido puede llegar a

ser más grande que la pantalla y así evitar que no pueda ser visto

● Puede ser horizontal o vertical● Acepta los mismos parámetros del layout

lineal

Page 20: Taller Aplicaciones Móviles - 2012 - 01

Layouts:ScrollView

Page 21: Taller Aplicaciones Móviles - 2012 - 01

Layouts:Tabs● Posibilita cambiar de tarea rápidamente● Necesitan de un Activity para cada tab● No son tan convenientes en pantallas poco

densas o pequeñas pues el espacio de los tabs queda "muerto"

● Organizan y agrupan información

Page 22: Taller Aplicaciones Móviles - 2012 - 01

Layouts:Tabs

Page 23: Taller Aplicaciones Móviles - 2012 - 01

Layouts:Snippets● Botones

○ Button○ ImageButton○ ImageView

● Etiquetas○ TextView

● Campos○ Spinners○ Switch○ EditText

Page 24: Taller Aplicaciones Móviles - 2012 - 01

Layouts:Botones

Page 25: Taller Aplicaciones Móviles - 2012 - 01

Layouts:Etiquetas

Page 26: Taller Aplicaciones Móviles - 2012 - 01

Layouts:Campos

Page 27: Taller Aplicaciones Móviles - 2012 - 01

Layouts:Menús:Contextual● Presentan acciones u opciones

dependiendo del "contexto" donde el cual son llamados

● Similares a lo que debería aparecer al hacer click derecho con un pc

● No debería tener demasiadas opciones● Puede ser reemplazado con el menú de

ActionBar

Page 28: Taller Aplicaciones Móviles - 2012 - 01

Layouts:Menús:Contextual

Page 29: Taller Aplicaciones Móviles - 2012 - 01

Layouts:Menús:ActionBar● Permite acceder a tareas recurrentes y varía

dependiendo del contexto● Puede agregarse algo de feedback, pero

hay que considerar el espacio reducido y dar prioridad a las acciones que pueda hacer el usuario

● Puede ser estilizado para estar más integrado con el estilo general de la aplicación

Page 30: Taller Aplicaciones Móviles - 2012 - 01

Layouts:Menús:ActionBar

Page 31: Taller Aplicaciones Móviles - 2012 - 01

Recursos● Strings

○ Únicas○ Array

● Imágenes○ Multiresolucion○ 9patch

● Íconos○ Tipos○ Convertidor de Imágenes

Page 32: Taller Aplicaciones Móviles - 2012 - 01

Recursos:Strings:Únicas● Guardados en strings.xml● Permiten múltiples idiomas● Establecidas en pares de llave=valor

Page 33: Taller Aplicaciones Móviles - 2012 - 01

Recursos:Strings:Array● Agrupan varias cadenas de texto en un solo

arreglo● Ideal para contener las opciones de spinners

Page 34: Taller Aplicaciones Móviles - 2012 - 01

Recursos:Imágenes:MRes● La resolución necesaria se calcula en base

a pixeles dinámicos con la fórmula ○ RP = DP * ( DPI / 160 )

● Enriquecer o facilitar la experiencia del usuario

● Consistentes entre diferentes densidades de pantalla

● Considerar posibles orientaciones de pantalla que puedan afectar el despliegue de la imágen

Page 35: Taller Aplicaciones Móviles - 2012 - 01

Recursos:Imágenes:MRes

LDensity - 120DPI

MDensity - 160DPI

HDentisy - 240DPI

XHDensity 320DPI

267DP

150DP

Page 36: Taller Aplicaciones Móviles - 2012 - 01

Recursos:Imágenes:9Patch● Imágenes especiales que complementan

existentes● Permiten escalar botones simples o bordes

de imágenes para permitir un desempeño consistente entre densidades de pantallas

● Relativamente fáciles de utilizar

Page 37: Taller Aplicaciones Móviles - 2012 - 01

Recursos:Imágenes:9Patch

Page 38: Taller Aplicaciones Móviles - 2012 - 01

Recursos:Íconos● "Si hay que explicarlo, no sirve como ícono"● 7 Posibles usos

○ Interfaz principal○ ActionBar○ Tabs○ Menús o Dialogs○ Notificaciones○ Launcher○ Listas

● Deben ser proveídos en los tamaños apropiados para diferentes densidades

Page 39: Taller Aplicaciones Móviles - 2012 - 01

Recursos:Íconos

Page 40: Taller Aplicaciones Móviles - 2012 - 01

Actividades● Corresponden a las pantallas que

interactúan con el usuario● Agrupan múltiples acciones menores

relacionadas con el contexto de las aplicaciones

● Acceden a los recursos, instancian o destruyen clases

● Llaman a otras actividades o servicios utilizando Intents

Page 41: Taller Aplicaciones Móviles - 2012 - 01

Actividades

Page 42: Taller Aplicaciones Móviles - 2012 - 01

Actividades● Responde frente a eventos en base a

diferentes métodos que deben ser sobreescritos

● Crea, modifíca o remueve elementos del layout

● Puede tener métodos y subclases personalizados extendiendo la clase base Activity

Page 43: Taller Aplicaciones Móviles - 2012 - 01

Actividades:Ciclo de Vida

Page 44: Taller Aplicaciones Móviles - 2012 - 01

Actividades● Responde frente a eventos en base a

diferentes métodos que deben ser sobreescritos

● Crea, modifíca o remueve elementos del layout

● Puede tener métodos y subclases personalizados extendiendo la clase base Activity

Page 45: Taller Aplicaciones Móviles - 2012 - 01

Servicios:Ciclo de Vida

Page 46: Taller Aplicaciones Móviles - 2012 - 01

Servicios● No requieren de intervención del usuario● Útiles para realizar tareas en segundo plano● Pueden comunicarse con las aplicaciones y

sus actividades● Pueden existir una vez que se ha salido de

la aplicación y mientras el sistema no necesite recursos

Page 47: Taller Aplicaciones Móviles - 2012 - 01

Servicios

Page 48: Taller Aplicaciones Móviles - 2012 - 01

Servicios:Ciclo de Vida

● Context.startService()● onCreate()● onStart()● stopService(android.content.Intent) o stopSelf()● stopSelf(int)

Page 49: Taller Aplicaciones Móviles - 2012 - 01

Intents● Intents

○ Para Actividades○ Para Servicios○ Filtros y Broadcast

● Preferencias○ SharedPreferences○ Preferencias en XML

● Bases de Datos● Mapas

○ Listeners○ Overlays

Page 50: Taller Aplicaciones Móviles - 2012 - 01

Intents:Actividaddsa

Page 51: Taller Aplicaciones Móviles - 2012 - 01

Intents:Actividaddsa

Page 52: Taller Aplicaciones Móviles - 2012 - 01

Intents:Serviciosdsa

Page 53: Taller Aplicaciones Móviles - 2012 - 01

Intents:Serviciosdsa

Page 54: Taller Aplicaciones Móviles - 2012 - 01

Intents:Filtrosdsa

Page 55: Taller Aplicaciones Móviles - 2012 - 01

Intents:Filtrosdsa

Page 56: Taller Aplicaciones Móviles - 2012 - 01

Intents:Broadcastdsa

Page 57: Taller Aplicaciones Móviles - 2012 - 01

Intents:Broadcastdsa

Page 58: Taller Aplicaciones Móviles - 2012 - 01

Preferencias

Page 59: Taller Aplicaciones Móviles - 2012 - 01

Preferencias

Page 60: Taller Aplicaciones Móviles - 2012 - 01

Preferencias

Page 61: Taller Aplicaciones Móviles - 2012 - 01

Preferencias

Page 62: Taller Aplicaciones Móviles - 2012 - 01

Preferencias

Page 63: Taller Aplicaciones Móviles - 2012 - 01

Bases de Datos

Page 64: Taller Aplicaciones Móviles - 2012 - 01

Bases de Datos

Page 65: Taller Aplicaciones Móviles - 2012 - 01

Mapas:Listener

Page 66: Taller Aplicaciones Móviles - 2012 - 01

Mapas:Listener

Page 67: Taller Aplicaciones Móviles - 2012 - 01

Mapas:Listener

Page 68: Taller Aplicaciones Móviles - 2012 - 01

Mapas:Listener

Page 69: Taller Aplicaciones Móviles - 2012 - 01

Mapas:Overlay

Page 70: Taller Aplicaciones Móviles - 2012 - 01

Mapas:Overlay