2. Desarrollo Para Android

33
© DevAcademy.la Desarrollo para Android @lshimokawa @ervelasquez

description

Desarrollo para Android

Transcript of 2. Desarrollo Para Android

Page 1: 2. Desarrollo Para Android

© DevAcademy.la

Desarrollo para Android

@lshimokawa@ervelasquez

Page 2: 2. Desarrollo Para Android

Arquitectura de Android

Page 3: 2. Desarrollo Para Android
Page 4: 2. Desarrollo Para 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

Page 5: 2. Desarrollo Para Android

Librerias

● Sistema de librerías C● Surface Manager● Media Framework● Webkit● OpenGL● SQLite

Page 6: 2. Desarrollo Para Android

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)

Page 7: 2. Desarrollo Para Android

Framework de Aplicaciones

● Gestor de paquetes● Administrador de ventanas● Sistema de Vistas● Administrador de recursos● Administrador de Actividades

Page 8: 2. Desarrollo Para Android

Aplicaciones

● Pantalla de inicio● Contactos● Telefono● Browser● Lector de correo y mensajes

Page 9: 2. Desarrollo Para Android
Page 10: 2. Desarrollo Para Android

Componentes

● Activity● Services● Broadcast Receiver● Content Provider● Intents

Page 11: 2. Desarrollo Para Android

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

Page 12: 2. Desarrollo Para Android

Services

● Para operaciones de larga duración● Proporciona interacción con otros procesos● Trabaja en segundo plano

Page 13: 2. Desarrollo Para Android

BroadCast Receiver

● Escucha y responde a determinados eventos● Los eventos son representados por la clase

Intent● BroadcastReceiver recibe y responde a los

eventos

Page 14: 2. Desarrollo Para Android

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

Page 15: 2. Desarrollo Para Android

● 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

Page 16: 2. Desarrollo Para Android

Intents

http://developer.android.com/guide/components/intents-filters.html

Page 17: 2. Desarrollo Para Android
Page 18: 2. Desarrollo Para Android

Ciclo de vida del Activity

Page 19: 2. Desarrollo Para Android

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

Page 20: 2. Desarrollo Para Android

Navegación entre Activities

● Tareas● Pila de tareas

Page 21: 2. Desarrollo Para Android

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

Page 22: 2. Desarrollo Para Android

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

Page 23: 2. Desarrollo Para Android
Page 24: 2. Desarrollo Para Android

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

Page 25: 2. Desarrollo Para Android

Estados del ciclo de vida del Activity

● Resumed/Running● Paused● Stopped

Page 26: 2. Desarrollo Para Android
Page 27: 2. Desarrollo Para Android

Desarrollo de interfaz de usuario

Page 28: 2. Desarrollo Para Android

Layouts

Page 29: 2. Desarrollo Para Android

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.

Page 30: 2. Desarrollo Para Android

Fragments

Page 31: 2. Desarrollo Para Android

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

Page 32: 2. Desarrollo Para Android
Page 33: 2. Desarrollo Para Android

Ciclo de vida del Fragment

● Resumed● Paused● Stopped