Android:
      desarrollo de aplicaciones




   Raúl Jiménez Ortega
   Nicolás Fernández Valverde
   José Luis López P...
Diseño de la interfaz de usuario

Existen dos formas de implementar la interfaz:

   Procedural: como tradicionalmente se...
Ejemplo - Declarativo

¡Hola Mundo!
Servicios basados en localización

    Tres sistemas intregados:
   Localización: ofrece la clase LocationManager
    par...
Cámara - Configuración

   Podemos manipular la configuración:
       Frecuencia de previsualización:
        (setPrevie...
Cámara - Captura

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




...
Servicios Android

   Se ejecutan en segundo plano.
   El usuario no interactúa con los servicios, sino
    que son mane...
Gestión de un servicio.

   Creación: Sobrecargamos los siguientes
    métodos de la clase services:
        OnCreate : ...
Hebras
   Todos los componentes de la aplicación
    (incluidos los servicios) corren sobre la hebra
    principal.

   ...
Reproducción Multimedia

   Creamos una instancia de la clase MediaPlayer
    por cada archivo.
   MediaPlayer implement...
Grabación Multimedia

   Creamos una instancia de MediaRecorder con
    las opciones pertinentes:
       Establecemos la...
El gestor de notificaciones

   Mensaje en la barra de estados.
   Icono en la barrra de estados
   Iluminar LEDs.
   ...
Native Android Content Providers

              Integración entre aplicaciones


 Content Provider   Datos que ofrece
 Bro...
Hacer nuevos Content Providers

   Utilizar un sistema de almacenamiento de
    datos (usualmente en ficheros o usando
  ...
Opciones generales de conexión

   Establecer red preferida.
   Activar o desactivar un tipo de red.
   ¿Falló la conex...
Opciones específicas de WiFi

   ¿Está el dispositivo habilitado?
   Habilitar el dispositivo.
   Obtener lista de rede...
Conclusiones

   Está diseñado para facilitar el desarrollo a terceros.
   Nos ofrece bibliotecas para trabajar con disp...
Upcoming SlideShare
Loading in...5
×

Android: desarrollo de aplicaciones

24,408

Published on

Android: desarrollo de aplicaciones

Published in: Technology, Business
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
24,408
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
382
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Android: desarrollo de aplicaciones

  1. 1. Android: desarrollo de aplicaciones  Raúl Jiménez Ortega  Nicolás Fernández Valverde  José Luis López Pino
  2. 2. 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.
  3. 3. Ejemplo - Declarativo ¡Hola Mundo!
  4. 4. Servicios basados en localización Tres sistemas intregados:  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)
  5. 5. Cámara - Configuración  Podemos manipular la configuración:  Frecuencia de previsualización: (setPreviewFrameRate)  Tamaño: (setPictureSize)  Codificación de la imagen: (setPictureFormat)  Etc. Ejemplo: Camera.Parameters parameters = camera.getParameters(); parameters.setPictureFormat(PixelFormat.JPEG); camera.setParameters(parameters);
  6. 6. 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.
  7. 7. 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.
  8. 8. 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()));
  9. 9. 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.
  10. 10. 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.
  11. 11. 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.
  12. 12. El gestor de notificaciones  Mensaje en la barra de estados.  Icono en la barrra de estados  Iluminar LEDs.  Vibración.  Sonidos.
  13. 13. 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.
  14. 14. 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.
  15. 15. 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?
  16. 16. 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.
  17. 17. 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.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×