taller aplicaciones móviles - 2012 - 01

Post on 14-Dec-2015

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

taller app moviles

TRANSCRIPT

Apps MóvilesAndrés González

Programa● Entorno de Desarrollo

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

● Android Manifest● Layouts

○ Tipos○ Snippets○ Menús

Programa● Recursos

○ Strings○ Imágenes○ Íconos

● Actividades○ Descripción○ Ciclo de Vida

● Servicios○ Descipción○ Ciclo de Vida

Programa● Intents

○ Para Actividades○ Para Servicios○ Filtros y Broadcast

● Preferencias○ SharedPreferences○ Preferencias en XML

● Bases de Datos● Mapas

○ Listeners○ Overlays

Programa● Notificaciones● Mensajes

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

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

IDE:ADV

IDE:ADV:Nueva

IDE:Logcat

IDE:Control de Emulador

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

AndroidManifest:Nodos

Layouts● Tipos

○ LinearLayout■ Descripción■ Horizontal■ Vertical

○ Relativo■ Descripción

○ ScrollView■ Descripción

○ Tabs■ Descripción

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

○ Background○ Padding○ Margin○ Gravity○ Orientation

Layouts:LinearLayout

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

Layouts:RelativeLayout

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

Layouts:ScrollView

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

Layouts:Tabs

Layouts:Snippets● Botones

○ Button○ ImageButton○ ImageView

● Etiquetas○ TextView

● Campos○ Spinners○ Switch○ EditText

Layouts:Botones

Layouts:Etiquetas

Layouts:Campos

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

Layouts:Menús:Contextual

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

Layouts:Menús:ActionBar

Recursos● Strings

○ Únicas○ Array

● Imágenes○ Multiresolucion○ 9patch

● Íconos○ Tipos○ Convertidor de Imágenes

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

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

arreglo● Ideal para contener las opciones de spinners

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

Recursos:Imágenes:MRes

LDensity - 120DPI

MDensity - 160DPI

HDentisy - 240DPI

XHDensity 320DPI

267DP

150DP

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

Recursos:Imágenes:9Patch

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

Recursos:Íconos

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

Actividades

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

Actividades:Ciclo de Vida

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

Servicios:Ciclo de Vida

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

Servicios

Servicios:Ciclo de Vida

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

Intents● Intents

○ Para Actividades○ Para Servicios○ Filtros y Broadcast

● Preferencias○ SharedPreferences○ Preferencias en XML

● Bases de Datos● Mapas

○ Listeners○ Overlays

Intents:Actividaddsa

Intents:Actividaddsa

Intents:Serviciosdsa

Intents:Serviciosdsa

Intents:Filtrosdsa

Intents:Filtrosdsa

Intents:Broadcastdsa

Intents:Broadcastdsa

Preferencias

Preferencias

Preferencias

Preferencias

Preferencias

Bases de Datos

Bases de Datos

Mapas:Listener

Mapas:Listener

Mapas:Listener

Mapas:Listener

Mapas:Overlay

Mapas:Overlay

top related