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