SlideShare una empresa de Scribd logo
Píldoras Android I Introducción – 2ª parteSergi Martínez
OverviewBloques básicos de una aplicación de AndroidActivityIntentsEl ManifestRecursos
Bloques básicos de una aplicaciónActivitiesSon los encargados de mostrar la interfaz y gestionar sus eventosServicesSe ejecutan en backgroundBroadcast ReceiversResponden ante sucesos del sistemaContent ProvidersAlmacenan información y la ponen a disposición de otras apps
Activity«…si hay que mostrarlo, se muestra, pero mostrarlo paná, es tontería»
ActivitiesUna Activity es una pantalla de la interfazLas aplicaciones constan de una o más ActivityCada Activity es reponsable de guardar su estadoUna Activity se encarga de:Crear una ventana donde colocar la interfaz Gestionar la interfazResponder a los eventos (onClick, onLongClick, etc).
Una Activity básica
Estados de una actividadEl sistema gestiona las actividades como una pilaUna actividad tiene cuatro estados:Activa: la actividad está en primer plano y tiene el focus(enfoque de usuario). Se encuentra en lo alto de la pila.En pausa: la actividad es visible, pero no tiene el focus. Ej: hay un diálogo sobre ella con el focusretenido.Detenida: La actividad está tapada por otra aplicación. Mantiene sus datos.Destruida: Una actividad detenida ha sido destruida para liberar memoria y ha perdido sus datos. Hay que recrearla completamente.
Ciclo de vida de una actividad
Métodos
Iniciar otra ActivityUso del método startActivity(Intent) o startActivityForResult (Intent, int)Podemos pasar parametros con Intent.putExtra(int, <type>)Recibirlos con getIntent().getExtras().get<Type>(clave);
Devolver valores de una ActivityEstablecemos el valor a devolver con setResult(intresultCode) o setResult (intresultCode, Intent data)La actividad «llamadora» implementa el método onActivityResult(intrequestCode, intresultCode, Intent data)resultCode puede ser uno de estos valores:RESULT_CANCELEDRESULT_OKRESULT_FIRST_USER
Intent«… Trata de arrancarlo, Carlos, por tu…»
IntentsAndroid se basa en multitud de pequeños componentesEstos componentes se comunican viaIntentsMensajes utilizados para notificar a las aplicaciones de eventosCambios de Hardware. Ej: tarjeta SD insertada.Recepción de datos. Ej: llegada de un smsEventos de la apliación. Ej: se ha lanzado la aplicaciónEtcEs posible crear nuestros propio intents
Partes de un IntentPartes básicasLa acción: una constante que indica la acción que se lanza. Ej.: VIEW_ACTION, EDIT_ACTIONLos datos: uri indicando el recurso asociado. Ej.: content://contacts/people/1Partes opcionalesUna categoría: agrupa el tipo de IntentUn tipo MIME: indica el tipo de recurso si no concemos una uriUn componente: la clase que debe tener el receptor. Obvia las otras propiedades, pero es más frágil.Extras: un Bundle con información extra que el receptor va a necesitar
Ejemplos de IntentANSWER_ACTIONCALL_ACTIONDELETE_ACTIONDIAL_ACTIONEDIT_ACTIONFACTORY_TEST_ACTIONGET_CONTENT_ACTIONINSERT_ACTIONMAIN_ACTION: Inicio de aplicaciónPICK_ACTION: permitir a otras apps elegir contenido de la tuyaVIEW_CONTENT: para ver contenidoEDIT_CONTENT: para editar contenido
Categorias de IntentALTERNATIVE_CATEGORYBROWSABLE_CATEGORYDEFAULT_CATEGORYGADGET_CATEGORYHOME_CATEGORYLAUNCHER_CATEGORYPREFERENCE_CATEGORYSELECTED_ALTERNATIVE_CATEGORYTAB_CATEGORYTEST_CATEGORY
Llegando a la actividad adecuadaUna actividad debe cumplir tres reglas para responder un IntentLa actividad debe soportar la acción especificadaLa actividad debe soportar el tipo MIME si lo hayLa actividad debe soportar TODAS las categorias nombradas en el IntentUso de Intent-Filter en el manifest
Ejemplo
Manifest.xml«…un xml para atarlos a todos en las sombras…»
ManifestEl Manifest es el archivo donde la aplicación le dice al sistema que elementos requiere para funcionarSiempre debe llamarse AndroidManifest.xml y estar en la raiz del proyectoEntre otras cosas contiene:Atributos de la aplicación y metadatosLa declaración de actividades y otros componentesLibrerías externasPermisosSe puede editar via GUI o editando el XML
Manifest inicial
Versión de la aplicaciónVersionCode es importante para el MarketVersionName es importante para el usuario y/o nosotros
Definición de la actividadDefinimos las actividades y sus intent-filter
Versión del SDKminSdkVersion, maxSdkVersion y targetSdkVersion
Permisos de la aplicaciónAvisan al usuario de las acciones que realizará la apliaciónListados en: http://developer.android.com/reference/android/Manifest.permission.html
Recursos«…¡Adelante gadget-o-Layout!…»
RecursosUn recurso es un elemento a utilizar durante la ejecución de la aplicaciónExisten diferentes tipos de recursos:LayoutsImágenesCadenas de textoSonidosColoresTemasAnimacionesetc
RecursosSe almacenan en la carpeta resourcesCada tipo de recurso tiene va en una carpeta específicaUtilizan sufijos para determinar que recursos utlizar según contexto (tamaño de pantalla, idioma, orientación, etc.)Nombre en mínusculasLa extensión se ignora (mismo nombre, diferente extensión se considera duplicado)
La clase RLa clase R es generada y mantenida por el sistema y no debe ser modificadaContiene un identificador (int) único por cada recurso Podemos hacer referencia a un recurso en código por R.<tipo>.<nombre>. Ej.: R.layout.main
Nombrar recursos en XMLPara referirnos a un recurso utilizamos la siguiente sintaxis:@<tipo de recurso>/<nombre del recurso>Por ejemplo@string/app_namePara definir un nombre utilizamos:@+<tipo de recurso>/<nombre de recurso>
Ejemplo
Fin¿Hay preguntas? ¿no? Pues vamos a comer sergi@catdroid.orgsergi.martinez@gmail.comwww.sergiandreplace.com@sergiandreplace

Más contenido relacionado

PPS
Temas Y Experiencias
PPT
Como crear una cuenta en slideshare
PDF
Capitulo5. incluir textos e imágenes
PDF
01 Introducción a Flash Catalyst
PDF
programa educa_emocional_eso
PPT
Debora 4º Eso
PDF
Tareas escolares
PPTX
CLASE 4 android cat 32 pags para estudiantes.pptx
Temas Y Experiencias
Como crear una cuenta en slideshare
Capitulo5. incluir textos e imágenes
01 Introducción a Flash Catalyst
programa educa_emocional_eso
Debora 4º Eso
Tareas escolares
CLASE 4 android cat 32 pags para estudiantes.pptx

Similar a Píldoras android i. Intro - 2ª parte (20)

PPTX
Android master class
PPT
Desarrollo android - 4 - arquitectura de aplicación
PPT
Introduccion a Android
PDF
Desarrollo de Aplicaciones Moviles en Android: Temas Avanzados
PPTX
Android Basics v2.0
PDF
Tema 4.4 Actividades
PPT
Curso Introducción a android
PPTX
Instrucciones y estructuras
PDF
Slides1
KEY
Android la plataforma móvil open source
PPT
Intro. a Android Instituto Bosc de la Coma en Olot
PPTX
Taller androidparte2
PPT
Curso desarrollo en android
PPT
Curso introducción a android
PPT
Curso introducción a Android
PDF
Deletreando Android
PDF
Introducción a Android
PDF
MobileCONGalicia Introducción a Android
PDF
Taller Android seedrocket
PPT
Píldora 1: Android intro
Android master class
Desarrollo android - 4 - arquitectura de aplicación
Introduccion a Android
Desarrollo de Aplicaciones Moviles en Android: Temas Avanzados
Android Basics v2.0
Tema 4.4 Actividades
Curso Introducción a android
Instrucciones y estructuras
Slides1
Android la plataforma móvil open source
Intro. a Android Instituto Bosc de la Coma en Olot
Taller androidparte2
Curso desarrollo en android
Curso introducción a android
Curso introducción a Android
Deletreando Android
Introducción a Android
MobileCONGalicia Introducción a Android
Taller Android seedrocket
Píldora 1: Android intro
Publicidad

Más de Sergi Martínez (13)

PDF
Kotlin, a modern language for modern times
PDF
What is flutter and why should i care?
PDF
What is flutter and why should i care? Lightning talk
PDF
Let’s talk about star wars with Dialog Flow
PDF
Database handling with room
PPTX
Realm or: How I learned to stop worrying and love my app database
PPTX
Android data binding
PPTX
It's the arts! Playing around with the Android canvas
PPT
Smartphones
PPT
Introduction to Android Fragments
PPTX
Creating multillingual apps for android
PPTX
Introducción a mobclix
PPTX
Admob y yo
Kotlin, a modern language for modern times
What is flutter and why should i care?
What is flutter and why should i care? Lightning talk
Let’s talk about star wars with Dialog Flow
Database handling with room
Realm or: How I learned to stop worrying and love my app database
Android data binding
It's the arts! Playing around with the Android canvas
Smartphones
Introduction to Android Fragments
Creating multillingual apps for android
Introducción a mobclix
Admob y yo
Publicidad

Último (20)

PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PDF
Maste clas de estructura metálica y arquitectura
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PDF
Diapositiva proyecto de vida, materia catedra
PPT
introduccion a las_web en el 2025_mejoras.ppt
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PPT
Que son las redes de computadores y sus partes
PDF
clase auditoria informatica 2025.........
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
Presentación de Redes de Datos modelo osi
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PDF
Calidad desde el Docente y la mejora continua .pdf
PDF
CyberOps Associate - Cisco Networking Academy
PDF
SAP Transportation Management para LSP, TM140 Col18
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
Estrategia de apoyo tecnología miguel angel solis
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
Maste clas de estructura metálica y arquitectura
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
Diapositiva proyecto de vida, materia catedra
introduccion a las_web en el 2025_mejoras.ppt
REDES INFORMATICAS REDES INFORMATICAS.pptx
El-Gobierno-Electrónico-En-El-Estado-Bolivia
Que son las redes de computadores y sus partes
clase auditoria informatica 2025.........
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Presentación de Redes de Datos modelo osi
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
historia_web de la creacion de un navegador_presentacion.pptx
Calidad desde el Docente y la mejora continua .pdf
CyberOps Associate - Cisco Networking Academy
SAP Transportation Management para LSP, TM140 Col18
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Estrategia de apoyo tecnología miguel angel solis

Píldoras android i. Intro - 2ª parte

  • 1. Píldoras Android I Introducción – 2ª parteSergi Martínez
  • 2. OverviewBloques básicos de una aplicación de AndroidActivityIntentsEl ManifestRecursos
  • 3. Bloques básicos de una aplicaciónActivitiesSon los encargados de mostrar la interfaz y gestionar sus eventosServicesSe ejecutan en backgroundBroadcast ReceiversResponden ante sucesos del sistemaContent ProvidersAlmacenan información y la ponen a disposición de otras apps
  • 4. Activity«…si hay que mostrarlo, se muestra, pero mostrarlo paná, es tontería»
  • 5. ActivitiesUna Activity es una pantalla de la interfazLas aplicaciones constan de una o más ActivityCada Activity es reponsable de guardar su estadoUna Activity se encarga de:Crear una ventana donde colocar la interfaz Gestionar la interfazResponder a los eventos (onClick, onLongClick, etc).
  • 7. Estados de una actividadEl sistema gestiona las actividades como una pilaUna actividad tiene cuatro estados:Activa: la actividad está en primer plano y tiene el focus(enfoque de usuario). Se encuentra en lo alto de la pila.En pausa: la actividad es visible, pero no tiene el focus. Ej: hay un diálogo sobre ella con el focusretenido.Detenida: La actividad está tapada por otra aplicación. Mantiene sus datos.Destruida: Una actividad detenida ha sido destruida para liberar memoria y ha perdido sus datos. Hay que recrearla completamente.
  • 8. Ciclo de vida de una actividad
  • 10. Iniciar otra ActivityUso del método startActivity(Intent) o startActivityForResult (Intent, int)Podemos pasar parametros con Intent.putExtra(int, <type>)Recibirlos con getIntent().getExtras().get<Type>(clave);
  • 11. Devolver valores de una ActivityEstablecemos el valor a devolver con setResult(intresultCode) o setResult (intresultCode, Intent data)La actividad «llamadora» implementa el método onActivityResult(intrequestCode, intresultCode, Intent data)resultCode puede ser uno de estos valores:RESULT_CANCELEDRESULT_OKRESULT_FIRST_USER
  • 12. Intent«… Trata de arrancarlo, Carlos, por tu…»
  • 13. IntentsAndroid se basa en multitud de pequeños componentesEstos componentes se comunican viaIntentsMensajes utilizados para notificar a las aplicaciones de eventosCambios de Hardware. Ej: tarjeta SD insertada.Recepción de datos. Ej: llegada de un smsEventos de la apliación. Ej: se ha lanzado la aplicaciónEtcEs posible crear nuestros propio intents
  • 14. Partes de un IntentPartes básicasLa acción: una constante que indica la acción que se lanza. Ej.: VIEW_ACTION, EDIT_ACTIONLos datos: uri indicando el recurso asociado. Ej.: content://contacts/people/1Partes opcionalesUna categoría: agrupa el tipo de IntentUn tipo MIME: indica el tipo de recurso si no concemos una uriUn componente: la clase que debe tener el receptor. Obvia las otras propiedades, pero es más frágil.Extras: un Bundle con información extra que el receptor va a necesitar
  • 15. Ejemplos de IntentANSWER_ACTIONCALL_ACTIONDELETE_ACTIONDIAL_ACTIONEDIT_ACTIONFACTORY_TEST_ACTIONGET_CONTENT_ACTIONINSERT_ACTIONMAIN_ACTION: Inicio de aplicaciónPICK_ACTION: permitir a otras apps elegir contenido de la tuyaVIEW_CONTENT: para ver contenidoEDIT_CONTENT: para editar contenido
  • 17. Llegando a la actividad adecuadaUna actividad debe cumplir tres reglas para responder un IntentLa actividad debe soportar la acción especificadaLa actividad debe soportar el tipo MIME si lo hayLa actividad debe soportar TODAS las categorias nombradas en el IntentUso de Intent-Filter en el manifest
  • 19. Manifest.xml«…un xml para atarlos a todos en las sombras…»
  • 20. ManifestEl Manifest es el archivo donde la aplicación le dice al sistema que elementos requiere para funcionarSiempre debe llamarse AndroidManifest.xml y estar en la raiz del proyectoEntre otras cosas contiene:Atributos de la aplicación y metadatosLa declaración de actividades y otros componentesLibrerías externasPermisosSe puede editar via GUI o editando el XML
  • 22. Versión de la aplicaciónVersionCode es importante para el MarketVersionName es importante para el usuario y/o nosotros
  • 23. Definición de la actividadDefinimos las actividades y sus intent-filter
  • 24. Versión del SDKminSdkVersion, maxSdkVersion y targetSdkVersion
  • 25. Permisos de la aplicaciónAvisan al usuario de las acciones que realizará la apliaciónListados en: http://developer.android.com/reference/android/Manifest.permission.html
  • 27. RecursosUn recurso es un elemento a utilizar durante la ejecución de la aplicaciónExisten diferentes tipos de recursos:LayoutsImágenesCadenas de textoSonidosColoresTemasAnimacionesetc
  • 28. RecursosSe almacenan en la carpeta resourcesCada tipo de recurso tiene va en una carpeta específicaUtilizan sufijos para determinar que recursos utlizar según contexto (tamaño de pantalla, idioma, orientación, etc.)Nombre en mínusculasLa extensión se ignora (mismo nombre, diferente extensión se considera duplicado)
  • 29. La clase RLa clase R es generada y mantenida por el sistema y no debe ser modificadaContiene un identificador (int) único por cada recurso Podemos hacer referencia a un recurso en código por R.<tipo>.<nombre>. Ej.: R.layout.main
  • 30. Nombrar recursos en XMLPara referirnos a un recurso utilizamos la siguiente sintaxis:@<tipo de recurso>/<nombre del recurso>Por ejemplo@string/app_namePara definir un nombre utilizamos:@+<tipo de recurso>/<nombre de recurso>
  • 32. Fin¿Hay preguntas? ¿no? Pues vamos a comer sergi@catdroid.orgsergi.martinez@gmail.comwww.sergiandreplace.com@sergiandreplace