Está en la página 1de 25

Formacin en Tecnologas Java

App Android:
Desarrollo de aplicaciones
en Android.
Introduccin a Android
Charla-taller impartida en CAMON Alicante el
11-12 de enero de 2011.
Boyn Bonev, Pablo Suau, Miguel A. Lozano
y el Dep. CCIA de la Universidad de Alicante

CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-1

Formacin en Tecnologas Java

Puntos a tratar

Licencia
Qu hay dentro?
Quin lo hace?
Dispositivos, hardware
Android SDK, capas, tipos de aplicaciones
Desarrollo y consideraciones
Planificacin del taller AppAndroid

CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-2

Formacin en Tecnologas Java

Android

Sistema operativo para dispositivos mviles


Ncleo basado en el de Linux
Programacin de aplicaciones en Java

CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-3

Formacin en Tecnologas Java

Historia: motivacin
Los dispositivos embebidos se programaban a
bajo nivel: necesidad de entender todo su
hardware
Sistemas operativos: abstraccin del hardware
Ej: Symbian. Cdigo en C/C++. Nivel medio/bajo,
bibliotecas propietarias, complicaciones con
hardware especfico.

Java ME: abstrae del HW y del SO. Mquina


virtual limita el acceso a hardware.

CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-4

Formacin en Tecnologas Java

Licencia
Android
Sistema operativo (Licencia Apache)
Plataforma de desarrollo (Licencia Apache)

Licencia Apache
Open Source
Permite a los fabricantes aadir extensiones
propietarias sin ponerlas en manos de la comunidad
del software libre

CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-5

Formacin en Tecnologas Java

Open Source
El open source hace posible:

Una comunidad de desarrollo, gracias a sus completas APIs y documentacin


ofrecida.

Desarrollo desde cualquier plataforma (Linux, Mac, Windows, etc).

Un sistema operativo para cualquier tipo de dispositivo mvil, al no estar


diseado para un slo tipo de mvil.

Posibilidad para cualquier fabricante de disear un dispositivo que trabaje con


Android, y la posibilidad de abrir el sistema operativo y adaptarlo o extenderlo
para su dispositivo.

Valor aadido para los fabricantes de dispositivos: las empresas se ahorran el


coste de desarrollar un sistema operativo completo para sus dispositivos.

Valor aadido para los desarrolladores: los desarrolladores se ahorran tener


que programar APIs, entornos grficos, aprender acceso a dispositivos
hardware particulares, etc.

CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-6

Formacin en Tecnologas Java

De qu est hecho?

Ncleo (branch) basado en linux (memoria, procesos, hardware)

Bibliotecas open source (SQLite, WebKit, OpenGL, manejador de


medios, etc).

Entorno de ejecucin Dalvik

Framework de desarrollo: pone a disposicin de las aplicaciones


los servicios del sistema

SKD: herramientas, plug-in para Eclipse, emulador, ejemplos, doc.

Interfaz de usuario para pantalla, dispositivos de entrada, etc.

Aplicaciones preinstaladas (destacamos Flash Player)

Android Market

CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-7

Formacin en Tecnologas Java

Desarrollan Android:
Open Handset Alliance
Trata de definir estndares abiertos para
dispositivos mviles
Consorcio de decenas de compaas (entre ellas
est Google):

CAMON Alicante, 11-12 enero 2010

Operadores de telefona mvil


Fabricantes de dispositivos
Fabricantes de procesadores y microelectrnica
Compaas de software
Compaas de comercializacin

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-8

Formacin en Tecnologas Java

Cuestiones ticas
Aspectos positivos
Cdigo abierto

Valor aadido para todos


Mantenibilidad
Seguridad informtica
Transparencia del uso de sensores

Servicios gratuitos de Google

CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-9

Formacin en Tecnologas Java

Cuestiones ticas
Aspectos negativos
Obligatorio log-in con el ID de Google (dependencia)
Constante intercambio de datos con Google
Envo de localizacin (desactivable)
Los usuarios no estn concienciados de la
dependencia de los servidores de Google y lo
aceptan sin ms.
Aunque el SO sea libre, gran parte de su valor est
en los servicios gratuitos de Google, que no son
libres ni conocemos el tratamiento que dan a
nuestra informacin privada.

CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-10

Formacin en Tecnologas Java

Dispositivos

CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-11

Formacin en Tecnologas Java

Procesador
Snapdragon de Qualcomm
Arquitectura ARM (el 98% de los mviles la usan)
Tipo RISC: reduced instruction set computer

Plataforma que incluye:

CAMON Alicante, 11-12 enero 2010

Hasta dos CPU's de 1.5 Ghz


HSPA+
GPS
Bluetooth
Video full definition
Wi-Fi
TV mvil

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-12

Formacin en Tecnologas Java

Android SDK

Licencias, distribucin y desarrollo gratuitos, tampoco hay procesos de aprobacin


del software. No diferencia entre aplicaciones nativas y de terceros.

Acceso al hardware de WiFi, GPS, Bluetooth y telefona, permitiendo realizar y


recibir llamadas y SMS.

Control completo de multimedia, incluyendo la cmara y el micrfono.

APIs para los sensores: acelermetros y brjula.

Mensajes entre procesos (IPC).

Almacenes de datos compartidos, proveedores de contenidos, SQLite, acceso a


SD Card.

Aplicaciones y procesos en segundo plano.

Widgets para la pantalla de inicio (escritorio).

Integracin de los resultados de bsqueda de la aplicacin con los del sistema.

Uso de mapas y sus controles desde las aplicaciones.

Aceleracin grfica por hardware, incluyendo OpenGL ES 2.0 para los 3D.

CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-13

Formacin en Tecnologas Java

Capas

CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-14

Formacin en Tecnologas Java

Tipos de aplicaciones
Primer plano (activities)
Segundo plano
Servicios puros
Servicios combinados con actividades

Widgets de escritorio

CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-15

Formacin en Tecnologas Java

Consideraciones para el desarrollo


Pequea capacidad de procesamiento
Memoria RAM limitada
Memoria permanente de poca capacidad
Pantallas pequeas de poca resolucin
Transferencias de datos costosa (en trminos de
energa y econmicos) y lenta
Inestabilidad de las conexiones de datos
Batera muy limitada
Necesidad de terminar la aplicacin en cualquier
momento

CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-16

Formacin en Tecnologas Java

Consideraciones para el desarrollo


Ser eficiente
CPU
Memoria
Recursos y red

Respetar al usuario
No robar el foco
Pocos avisos
Interfaz intuitiva y coherente con Android

Ver Gua de desarrollo de Android antes de


publicar
CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-17

Formacin en Tecnologas Java

Actividades
Activity: tarea destinada a mostrar una
interfaz grfica al usuario.
Slo podemos ver en pantalla una actividad a
la vez.
Una aplicacin suele estructurarse en un
conjunto de actividades.
Una aplicacin puede mostrar actividades de
otras aplicaciones o actividades nativas del
sistema (por ejemplo, la de enviar SMS).
CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-18

Formacin en Tecnologas Java

Ciclo de vida
de las actividades
Se define sobrecargando los siguientes
mtodos:
public class Activity extends ApplicationContext {
protected void onCreate(Bundle savedInstanceState);
protected void onStart();
protected void onRestart();
protected void onResume();
protected void onPause();
protected void onStop();
protected void onDestroy();
}

CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-19

Formacin en Tecnologas Java

Ciclo de vida
de las actividades

Ciclo de vida entre


onCreate( )
onDestroy( )

Tiemo de vida visible entre


onStart( )
onStop( )

Tiempo de vida en primer


plano entre
onResume( )
onPause( )
puede ser terminada!

CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-20

Formacin en Tecnologas Java

Intents
Intent, propsito. Es una descripcin abstracta
de una operacin a realizar.
Los utilizaremos para pasar de una actividad a
otra.
Usos:
Con startActivity para lanzar una actividad
Con broadcastIntent para enviarse a cualquier
componente receptor BroadcastReceiver.
Con startService o bindService para comunicar
con un servicio (Service) que corre en segundo plano.

CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-21

Formacin en Tecnologas Java

Intents: lanzar actividades


Lanzar una actividad propia:
Intent intent = new Intent(this, MiActividad.class);
startActivity(intent);

Lanzar una actividad del sistema:


Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:965903400"));
startActivity(intent);

CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-22

Formacin en Tecnologas Java

Intents
Otras acciones del sistema
ACTION_ANSWER
ACTION_CALL
ACTION_DELETE
ACTION_DIAL
ACTION_EDIT
ACTION_INSERT
ACTION_PICK
ACTION_SEARCH
ACTION_SENDTO
ACTION_VIEW
ACTION_WEB_SEARCH

CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-23

Formacin en Tecnologas Java

Guin de AppAndroid
Introduccin a Android y a la programacin de
aplicaciones
Prctica 1: Hola Mundo (layouts y
Descanso
de 10 min?
componentes para la interfaz).
Prctica 2: Lector de noticias CAMON
Creacin de la aplicacin, recursos, interfaz,
AsyncTask

(da 2)
Carga de imgenes, dilogos, sntesis del habla
Generar paquete instalable

Otros aspectos (servicios, p.ej.) y conclusiones


CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-24

Formacin en Tecnologas Java

Preguntas...?

CAMON Alicante, 11-12 enero 2010

Depto. Ciencia de la Computacin e IA (Univ. Alicante)

App Android Intro-25

También podría gustarte