Вы находитесь на странице: 1из 64

Por: Cristian Fabin Gmez Rojas, Ingeniero de Sistemas Universidad Nacional de Colombia, Lder de Desarrollo ColombiaGames.

Android??? Porque Android??? Porque Mviles??? Como comenz Android??? Como funciona Android??? Que debemos usar para desarrollar sobre Android?

Primera sesin llena de conceptos (Solo vamos a hablar). Pequeos pasos para absorber conceptos. Teora, Muestra, Practica
1 2 3

Un Sper J2ME

Un LiMo Alguien sabe que es un LiMo?

Un Telefono!

Una copia del iPhone

Que si es Android??

Sistema Operativo diseado para dispositivos mviles.

Desarrollo Mvil Desarrollo Web


Desarrollo Escritorio

Limitado Cookies?
Buen Desempeo

OK, pero limitado OK


OK

OK, pero muy limitado OK, limitado


OK

Muchas! Muchas!
Muchas!

User Experience

Funciones Principales

La UI es entendible

Caractersticas tiles

La ayuda es suficiente

Tiempo de aprendizaje

Se requiere mucha ayuda

Hardware limitado (comparado a un PC) Muchas caractersticas de Hardware UI mvil El sistema operativo da la parada para comportamientos y condiciones de diseo Procesamiento pesado??... No en mi mvil!

El espacio es limitado Contenido usando XML, JSON, SQLite, Eficiencia Reducir el numero de controles Disear para portabilidad Disear para accesibilidad Interfaces Intuitivas Detectar Capacidades del dispositivo La red siempre es lenta!!

Buen Comportamiento
No interrumpir al usuario

Permitir al usuario conocer el estado de la app.

Conmutacin transparente
Garantizar el ciclo de vida

Capacidad de Respuesta
Evitar el congelamiento de los procesos, actividades y/o servicios

UI Fluida y consistente
Mantener un Look & Feel UX

Inserte

Ventaja aqu
Inserte

Muchas

Muchas

Ventaja aqu Inserte Ventaja aqu Muchas

Ecosistema de aplicaciones Desarrollado bajo cdigo abierto Gran Documentacin

Apoyo de Google
Open Handset Alliance Mayor gama de dispositivos Mas que mviles Millones de Apps

Usuarios Desarrolladores Fabricantes Operadores Y todos viven felices en una relacin de ganagana .

Como

Android??? Como comenz Android??? Porque Mviles??? Porque Android???

funciona Android???

Que debemos usar para desarrollar sobre Android?

Maquina virtual Optimizacin de la JVM No opera bytecode opera dx code Runtime de las aplicaciones escritas en Java.

Administrador de Notificaciones Administrador de recursos Administrador de Actividades Proveedores de Contenido Vistas (GUI) Aplicaciones basadas en el patrn de diseo modelo-vista-controlador

Activa (Running): Est la primera en la pila de ejecucin, el usuario ve la actividad y puede interactuar con ella. Pausada (Paused): Ha pasado a segundo plano pero aun est visible porque otra actividad se coloca sobre ella pero no la tapa del todo. En este caso, la actividad tapada puede ser cerrada por el sistema si necesita liberar recursos para la nueva actividad. Parada (Stopped): Ha pasado a segundo plano y est completamente tapada por la nueva actividad, en ese caso el sistema tambin puede optar por cerrarla si necesita liberar recursos. Destruida (Destroyed): ya no est disponible, se han liberado todos sus recursos y en caso de ser llamada, necesitara comenzar un nuevo ciclo de vida.

onCreate(): Se llama al crear la actividad. Es donde se prepara la interfaz grfica de la pantalla. Tras esta funcin, el proceso sobre el que se ejecuta la Actividad no puede ser destruido por el sistema. El siguiente mtodo que se llama es onStart(). onRestart(): Se llama cuando una actividad que se haba parado vuelve a estar activa, justo antes de que comience de nuevo. Tras ella se llama a onStart() y su proceso no puede ser destruido ni durante ni tras su ejecucin. onStart(): Se ejecuta justo antes de que la aplicacin sea visible al usuario. El siguiente mtodo de ciclo de vida llamado ser onStop() u onResume(), dependiendo de la situacin.

onResume(): Se ejecuta en el momento en que la actividad se encuentra en la parte superior de la pila, justo antes de que el usuario pueda interactuar con ella. El siguiente mtodo ser onPause(). onPause(): Se llama cuando la actividad va a ser tapada por otra, por tanto se llama cuando se llame al onRestart() de otra. En este mtodo debemos aprovechar para liberar todo aquello que consume recursos (para msica, detener procesos) o guardar datos de manera persistente. No podr contener tareas lentas ya que hasta que no termine este mtodo no podr ejecutarse el onResume de la nueva actividad. El mtodo siguiente ser onResume() u onStop(). onStop(): Se ejecuta cuando la actividad se hace invisible al usuario. Puede ser porque otra actividad la tape y entonces el siguiente mtodo ser onRestart() o porque la actividad haya sido destruida, llamado a continuacin a onDestroy().

onDestroy(): Se llama antes de destruir la actividad. Durante la destruccin de la actividad se perdern todos los datos asociados a ella por lo que en este mtodo podr ser utilizado para controlar la persistencia de datos. Se llamar cuando se ejecuta el mtodo de finalizacin finish() sobre la actividad o porque el sistema elimina la actividad para conseguir ms recursos.

Que

Android??? Como comenz Android??? Porque Mviles??? Porque Android??? Como funciona Android???

debemos usar para desarrollar sobre Android?

A favor

Realidad Aumentada Manejo del ciclo de vida Servicios

En contra

Gratuito

Curva de aprendizaje mas elevada Desarrollo en animaciones limitado

Notificaciones
Muchas Otras Fcil soporte a mltiples resoluciones

A favor

Orientado a la presentacin visual Curva de aprendizaje menos elevada til para Juegos Cross-Platform

En contra

SDK Gratuito

Flash Builder es Pago No compatible con todos los mviles Android Desarrollo pobre con Realidad Aumentada Uso de un runtime anexo (espacio en DD). Dispositivos antiguos tienen un bajo rendimiento

A favor

Usa las ventajas de manejar HTML/JS/CSS Curva de aprendizaje menos elevada til para aplicaciones Cross-Platform (limitaciones) Uso de plugins

En contra

SDK Gratuito

Limitaciones a funciones nativas especificas

A favor

Usa JavaScript Curva de aprendizaje mediana til para aplicaciones Cross-Platform (limitaciones) Box2D

En contra

SDK y herramientas gratuitas

Limitaciones a funciones nativas especificas Bugs conocidos

A favor

Orientado a juegos y aplicaciones Fcil programacion Cross-Platform (limitaciones) Box2D

En contra

Lenguaje script

Limitaciones a funciones nativas especificas Bugs conocidos Comportamiento lento en muchos Smartphones Android

A favor

Aplicaciones muy rapidas Desarrollo al nivel Nativo

En contra

C# como lenguaje

Las herramientas tienen un costo de USD $399 Curva de aprendizaje elevada al inicio Poca documentacin

INGREDIENTES
Java Development Kit (Preferiblemente versin 6) Android SDK Eclipse Juno Eclipse ADT Plugin

Y Buen Provecho!!

AVD Manager
Monkey Runner

SDK Manager
Hierachy Viewer

Debug Bridge
Logcat

Herramienta para crear entornos virtuales de testing Cercanos a la realidad

Herramienta para actualizar el SDK de Android y tener los ltimos releases de las plataformas

Herramienta que permite la conexin con los emuladores y los dispositivos conectados al entorno de desarrollo.

Herramienta para analizar visualmente el desarrollo grafico de un layout como si fuera un rbol.

Stress Test, hagamos pruebas random y pruebas personalizadas repetitivas sobre nuestra app. Corre sobre el emulador

Sistema de registro de Android donde podemos ver:


Operaciones, Mensajes de sistema Errores Otros

Mas info: cristianfgr@gmail.com

Вам также может понравиться