Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Android: Componentes (II)

Android: Componentes (II)

Presentación para el módulo de Introducción a la Programación y Desarrollo con Android del Máster en Desarrollo de Videojuegos para Móviles de la IPECC

Enrique López Mañas

January 16, 2013
Tweet

More Decks by Enrique López Mañas

Other Decks in Education

Transcript

  1. Con la participación de
    Electronic Arts
    En colaboración con la
    Universidad de Alcalá
    Enrique  López-­‐Mañas  
    Módulo 4: Creación y diseño de videojuegos móviles
    Android:  componentes  (II)  
     

    View Slide

  2. 2  
    Introducción  a  la  programación  –  Enrique  López  Mañas  
    Contenido  
    Componentes  de  una  aplicación:  
    Ac?vidades  (Ac?vi?es)  
    Intents  
    Intent  Filters  
    Servicios  
    Content  Providers  
    Broadcast  Receivers  
     

    View Slide

  3. 3  
    Introducción  a  la  programación  –  Enrique  López  Mañas  
    Content  Providers  
    Compar?r  datos  entre  aplicaciones  
    Contactos  
    Navegador  
    Registro  de  llamadas  
    Ajustes  
    Archivos  mul?media  
    Funciona  como  una  base  de  datos  
    Para  hacer  consultas  se  usa  una  URI  

    View Slide

  4. 4  
    Introducción  a  la  programación  –  Enrique  López  Mañas  
    Content  Providers  URI  
    CONSTANTE DESCRIPCION STRING CONSULTA
    MediaStore.Images.Media.INTE
    RNAL_CONTENT_URI
    Devuelve una lista con todas
    las imágenes internas del
    dispositivo
    content://media/internal/
    images
    MediaStore.Images.Media.EXTE
    RNAL_CONTENT_URI
    Devuelve una lista con todas
    las imágenes guardadas en el
    dispositivo externo (SD Card)
    content://media/external/
    images
    CallLog.CONTENT_URI Devuelve la lista de llamadas content://call_log/calls
    Browser.BOOKMARKS_URI
    Devuelve una lista con
    marcadores guardados en el
    navegador
    content://browser/bookmarks

    View Slide

  5. 5  
    Introducción  a  la  programación  –  Enrique  López  Mañas  
    Cómo  hacer  una  consulta  
    Necesitamos  tres  piezas  de  
    información:  
    URI  del  provider  
    android.provider.CallLog.CONTENT_URI
    Nombres  de  los  campos  que  queremos  
    CallLog.Calls.NUMBER
    Tipo  de  datos  de  los  campos  
    _ID _COUNT NUMBER
    44 3 212 55 1234
    13 2 425 23 1231
    53 5 543 56 1123

    View Slide

  6. 6  
    Introducción  a  la  programación  –  Enrique  López  Mañas  
    Ejemplo  Content  Providers  
    Aplicación  que  muestra  el  registro  de  
    llamadas  
    Uso  de  un  ListView  
    Lectura  de  Content  Providers  

    View Slide

  7. 7  
    Introducción  a  la  programación  –  Enrique  López  Mañas  
    Servicios  
    Componente  que  funciona  sin  
    interactuar  con  el  usuario  
    Reproductor  de  música  
    Log  de  coordenadas  GPS  
    Realizar  tareas  costosas  en  otro  hilo  
    Realizar  tareas  repe??vas  
    Puede  usarse  de  dos  maneras:  
    Inicio  por  libre  
    Unido  a  una  Ac?vity  

    View Slide

  8. 8  
    Introducción  a  la  programación  –  Enrique  López  Mañas  
    Servicio:  Ciclo  de  Vida  

    View Slide

  9. 9  
    Introducción  a  la  programación  –  Enrique  López  Mañas  
    BroadCast  Receivers  
    Sirve  para  interceptar  Intents  
    Na?vos:  android.provider.Telephony.SMS_RECEIVE
    Propios:  com.tecnocom.intents.LOCATION_CHANGED  
    U?liza  Intent  Filter  para  especificar  a  
    qué  ?po  de  Intent  escuchar  
    Se  puede  registrar  en  el  código  o  en  el  
    Manifest  

    View Slide

  10. 10  
    Introducción  a  la  programación  –  Enrique  López  Mañas  
    Ejemplo:  descarga  de  Archivo  
    Aplicación  que  descarga  un  archivo  y  
    avisa  cuando  ha  acabado  
    El  servicio  se  debe  comunicar  con  la  
    Ac?vity  (Broadcast  Receiver)  
    U?lización  de  AsyncTask  y  
    ProgressDialog  

    View Slide

  11. Con la participación de
    Electronic Arts
    En colaboración con la
    Universidad de Alcalá
    Gracias  por  su  atención  
    Contacto  para  dudas  y  sugerencias  
    Enrique  López  Mañas  
    [email protected]  
    @eenriquelopez  
     

    View Slide