2. Desarrollo Para Android

Post on 15-Dec-2015

220 views 0 download

description

Desarrollo para Android

Transcript of 2. Desarrollo Para Android

© 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