Post on 15-Dec-2015
description
© DevAcademy.la
Desarrollo para Android
@lshimokawa@ervelasquez
Arquitectura de Android
Linux Kernel
● Servicios de sistema operativoo Seguridado Memoria y administracion de procesoso Drivers de dispositivos
● Servicios exclusivos de Androido Manejo de energiao Reparto de memoriao Comunicación entre procesos
Librerias
● Sistema de librerías C● Surface Manager● Media Framework● Webkit● OpenGL● SQLite
Android Runtime
● Core Librarieso Clases básicas de Javao Ciclo de vida de aplicacioneso Hardware Conectividado JUnit
● Máquina Virtualo Android no tiene una Java Virtual Machineo Dalviko ART (experimental en Android 4.4)
Framework de Aplicaciones
● Gestor de paquetes● Administrador de ventanas● Sistema de Vistas● Administrador de recursos● Administrador de Actividades
Aplicaciones
● Pantalla de inicio● Contactos● Telefono● Browser● Lector de correo y mensajes
Componentes
● Activity● Services● Broadcast Receiver● Content Provider● Intents
Activity
● Clase principal de la aplicación Android● Provee una interfaz gráfica de usuario o GUI● Implementa una tarea única que el usuario
puede realizar● Trabaja en primer plano
Services
● Para operaciones de larga duración● Proporciona interacción con otros procesos● Trabaja en segundo plano
BroadCast Receiver
● Escucha y responde a determinados eventos● Los eventos son representados por la clase
Intent● BroadcastReceiver recibe y responde a los
eventos
Content Provider
● Gestionan el acceso a data estructurada● Encapsulan la información, provee seguridad● Interface estándar, similar a una base de datos● Para ser usado por varias aplicaciones● Android tiene Content Providers para audio,
video, images, and personal contact information
● Mensaje utilizado para solicitar una acción a un componente de otra app:o Iniciar un Activityo Iniciar un Serviceo Enviar un mensaje Broadcast
● Tiposo Explícito: para tu propia appo Inplícito: acción general a realizar
Intents
Intents
http://developer.android.com/guide/components/intents-filters.html
Ciclo de vida del Activity
Activity
● Clase principal que actúa directamente con el usuario
● Provee una interfaz para la interacción● Por convención, el Activity es modular● Multiples Activity componen una aplicacion
Navegación entre Activities
● Tareas● Pila de tareas
Tareas
● Conjunto de actividades relacionadas● Una tarea puede abarcar más de una aplicación● Comienzan desde la pantalla de inicio de una
aplicación
Pila de tareas
● Cuando un activity nuevo es lanzado, automáticamente sube a la pila de tareas como la primera tarea
● Cuando un activity es destruido, sale de la pila de tareas
Ciclo de vida del Activity
● Los Activities son creados, suspendidos, resumidos y destruidos cuando sea necesario al ejecutar una aplicación
● Estas acciones depende de:o El comportamiento del usuarioo Android
Estados del ciclo de vida del Activity
● Resumed/Running● Paused● Stopped
Desarrollo de interfaz de usuario
Layouts
Layouts
● Define la estructura visual de la UI (activity o widget)
● Se puede declarar por XML o instanciar el layout directamente en Runtime
● Utilizar XML tiene la ventaja de una mejor separación de la capa de presentación.
Fragments
Fragments
● Comportamiento o porción de UI en un Activity● Combinar múltiples Fragments en un Activity o
reusarlos en múltiples Activities● Mejora el soporte de aplicaciones para Tablets● A partir de Android 3.0
Ciclo de vida del Fragment
● Resumed● Paused● Stopped