Android: desarrollo de aplicaciones

17

Click here to load reader

description

Android: desarrollo de aplicaciones

Transcript of Android: desarrollo de aplicaciones

Page 1: Android: desarrollo de aplicaciones

Android:desarrollo de aplicaciones

Raúl Jiménez Ortega Nicolás Fernández Valverde José Luis López Pino

Page 2: Android: desarrollo de aplicaciones

Diseño de la interfaz de usuario

Existen dos formas de implementar la interfaz:

Procedural: como tradicionalmente se han implementado las interfaces en Java → estilo AWT, SWING, etc.

Declarativa: usando el lenguaje de marcas XML.

Page 3: Android: desarrollo de aplicaciones

Ejemplo - Declarativo

¡Hola Mundo!

Page 4: Android: desarrollo de aplicaciones

Servicios basados en localización

Localización: ofrece la clase LocationManager para acceder a los sistemas de localización.

Acelerómetro y brújula: se gestiona con el SensorManager y requiere el uso de listeners.

Para la carga se usa la función: getSystemService(nombre_del_servicio)

Tres sistemas intregados:

Page 5: Android: desarrollo de aplicaciones

Cámara - Configuración

Podemos manipular la configuración: Frecuencia de previsualización:

(setPreviewFrameRate) Tamaño: (setPictureSize) Codificación de la imagen: (setPictureFormat) Etc.

Camera.Parameters parameters = camera.getParameters();parameters.setPictureFormat(PixelFormat.JPEG);camera.setParameters(parameters);

Ejemplo:

Page 6: Android: desarrollo de aplicaciones

Cámara - Captura

private void takePicture() { camera.takePicture(shutterCallback, rawCallback, jpegCallback); }

shutterCallBack: se lanza justo cuando se cierra el disparador de la cámara.

rawCallBack: recibe la imagen sin codificar tras haber sido tomada.

jpegCallBack: recibe la imagen en formato JPEG.

Page 7: Android: desarrollo de aplicaciones

Servicios Android

Se ejecutan en segundo plano. El usuario no interactúa con los servicios, sino

que son manejados por las aplicaciones. Realizan tareas como actualizar Content-

Providers o manejar notificaciones. Por ejemplo se programan como servicio las

actualizaciones automáticas para los programas.

Page 8: Android: desarrollo de aplicaciones

Gestión de un servicio.

Creación: Sobrecargamos los siguientes métodos de la clase services: OnCreate : Acciones cuando se crea el servicio. OnBind : Acciones para ligarlo a una aplicación. OnStart : Acciones cuando se inicia el servicio.

Lanzar el servicio. Dos formas Explícita: startService(new Intent(MyService.MY_ACTION));

Implícita:startService(new Intent(this,MyService.class)); Pararlo : stopService(new Intent(this, service.getClass()));

Page 9: Android: desarrollo de aplicaciones

Hebras

Todos los componentes de la aplicación (incluidos los servicios) corren sobre la hebra principal.

Para evitar que la aplicación se bloquee las operaciones más costosas en tiempo se realizan en hebras de segundo plano.

Se programan en hebras tareas como el manejo de ficheros, transacciones en bases de datos o búsquedas de redes.

Page 10: Android: desarrollo de aplicaciones

Reproducción Multimedia

Creamos una instancia de la clase MediaPlayer por cada archivo.

MediaPlayer implementa funciones: De reproducción: start, stop, pause, seek... Recuperación de información: nombre, tamaño,

tipo...

Límite de instancias de la clase → tenemos que liberar recursos.

Page 11: Android: desarrollo de aplicaciones

Grabación Multimedia

Creamos una instancia de MediaRecorder con las opciones pertinentes: Establecemos la fuente con setAudioSource o con

setVideoSource. Definir el formato de salida con setOutputFormat. Seleccionar el codificador a utilizar. Y el fichero de salida.

Con start, stop y release manejamos la grabación.

Page 12: Android: desarrollo de aplicaciones

El gestor de notificaciones

Mensaje en la barra de estados. Icono en la barrra de estados Iluminar LEDs. Vibración. Sonidos.

Page 13: Android: desarrollo de aplicaciones

Native Android Content Providers

Integración entre aplicaciones

Content Provider Datos que ofrece

Browser Historial, marcadores y otra información del navegador.

CallLog Detalles sobre llamadas (perdidas, duración, etc.)

Contacts Datos sobre los contactos de tu agenda

MediaStore Ficheros multimedia como audio, vídeo e imágenes.

Settings Configuración del dispositivo.

Page 14: Android: desarrollo de aplicaciones

Hacer nuevos Content Providers

Utilizar un sistema de almacenamiento de datos (usualmente en ficheros o usando SQLite).

Crear una clase que herede de ContentProvider. Definiendo una serie de métodos: getType,

onCreate, query, insert, delete y update.

Declarar el proveedor de contenido en el fichero AndroidManifest.xml de nuestra aplicación.

Page 15: Android: desarrollo de aplicaciones

Opciones generales de conexión

Establecer red preferida. Activar o desactivar un tipo de red. ¿Falló la conexión a la red preferida? ¿Hay conexión? ¿Por qué falló la conexión?

Page 16: Android: desarrollo de aplicaciones

Opciones específicas de WiFi

¿Está el dispositivo habilitado? Habilitar el dispositivo. Obtener lista de redes configuradas. Conectar a una red. Obtener información de la conexión. Escanear todos los puntos de acceso. Consultar el resultado del escaneo.

Page 17: Android: desarrollo de aplicaciones

Conclusiones

Está diseñado para facilitar el desarrollo a terceros.

Nos ofrece bibliotecas para trabajar con dispositivos que tradicionalmente no se incluían en equipos móviles.

Facilita la integración entre aplicaciones.

Ofrece un alto nivel de abstracción frente al hardware nunca visto antes.

Al estar basado en Linux ofrece un soporte robusto y fiable.

Que esté mantenido por la Open Handset Alliance ofrece garantías de perdurabilidad en el tiempo.