SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Comunicación e Intents

 Arquitectura de comunicación en Android
             Intents



                             Yésica Hernández
                                  Jorge Frank
                                Cesar Aguirre
Comunicación e Intents
      Arquitectura de comunicación en
                   Android
 Todo en android está formado por agrupaciones de componentes.

 Cada componente puede ser invocado de manera independiente

     Por ejemplo, puedo solicitar acceso a los contactos de la
       agenda o bien a la lista de archivos multimedia desde
       cualquier aplicación.

 Cada componente esta identificado por su clase o bién si es un
 archivo por una URI que es un identificador único similar a una url
 web.

 Esta comunicación se logra a través de mensajes que son
 escuchados por el sistema operativo y reenviados a las aplicaciones
 y componentes destino, como una oficina postal.
Comunicación e Intents
                      Arquitectura de comunicación en
                                   Android
                 Las actividades, servicios y los receptores de mensajes de difusión
  Reutilizar     se comunican y son invocados mediante mensajes asíncronos
funciones de     llamados Intents y pueden o no esperar una respuesta despues de
 otras apps      efectuar la llamada.

                 Permiten invocar actividades de otras aplicaciones
                 Permiten enviar datos mediante un objeto de tipo Bundle que puede
                 contener objetos serializables
 Compartimos
  información    Los elementos accesibles se pueden referenciar por su nombre de
      entre      clase + paquete o bien por una URI
  Actividades
                           Nombre
                           clase o
                           destino
                                                                      Activity
                            Datos
Comunicación e Intents
                               Intents a detalle


                                                    Leer
                           Implícito      Acción
                        (por contenido)              Editar


Componentes de la misma
aplicación                                                       URI
                             Resolu
   Nombre (Explícito)         ción        Intent      Datos      Bundle




                                                    Responder llamadas
                                          Filtros
                                                       Componentes de otras
                                                               aplicaciones
Comunicación e Intents
                          Ejemplos de Intents
Clase: android.content.Intent

  Intent explicito:      Intent intent = new Intent(this, OtraActividad.class);
  Enviar datos a otra    intent.putExtra(“Valor1", “Hola soy el valor 1");
  actividad bien         intent.putExtra("Valor2", “Hola soy el valor 2");
  conocida o proceso




           Intent intent = new Intent(              Intento implícito, se
              Intent.ACTION_VIEW,                   resuelve por la acción y
              Uri.parse("http://unam.mobi")         el tipo de contenido que
              );                                    se obtiene con la URI,
                                                    responden todas las
                                                    apps que pueden
                                                    visualizar el contenido
Comunicación e Intents
                                 Enviar un intent
Las clases que heredan de Activity y Process tienen los siguientes métodos para
Llamar otras aplicaciones o componentes
startActivity(Intent)
Llamar y esperar una respuesta de otras aplicaciones o componentes
startActivityForResult( Intent, A_REQUEST_ID );
Usar el metodo para recibir la respuesta y un switch usando el A_REQUEST_ID


                       @Override
                       protected void onActivityResult( int
                       requestCode, int resultCode, Intent data) {
                        …
                       }
Comunicación e Intents
                   Programemos el siguiente código
Clase: android.content.Intent
                         Intent compartir = new
   Se lanza el mensaje   Intent(Intent.ACTION_SEND);
   y se crea un menú     compartir.setType("text/plain");
   para elegir el
   destinatario por el
                         compartir.putExtra(
   contexto del              android.content.Intent.EXTRA_TEXT,
   contenido.                “Hola mundo!“
                             );

                         startActivity(Intent.createChooser(
                                 compartir,
                                “Compartir usando")
                                );
Comunicación e Intents
                       Recibir los datos de un intent
Las clases que heredan de Activity y Process tienen los siguientes métodos para

Obtener los datos del Intent recibido
Ya sea que inició la actividad o es resultado de otra comunicación


                     Bundle extras = getIntent().getExtras();
                     if (extras == null) {
                           return;
                           }
                     String valor1 = extras.getString("Valor1");
                     String valor2 = extras.getString("Valor2");
                     if (valor1 != null && valor2 != null) {
                     …
                      }
Filtros
                                 Filtrado de intents

El verdadero poder de los intents recide en el concepto de acciones de los
intents.Con estos sólo se describe el tipo de acción que se quiere realizar y
opcionalmente los datos sobre los que se quiere llevar el intent

La manera en que el sistema identifica el componente que puede responder es a
través de la comparación del intent con los ontentfilters que están en el Android
Manifest de las demás aplicaciones en el dispositivo.

Cuando declaramos un compnente en el manifest, podemos incluir intent filters
que declaran las capacidades del componente y así poder responder intents de
otras aplicaciones.
Filtros
                             Filtrado de intents

<intent-filter android:label="@string/resolve_title">
   <action android:name="com.android.notepad.action.EDIT_TITLE" />
   <category android:name="android.intent.category.DEFAULT" />
   <category android:name="android.intent.category.ALTERNATIVE" />
   <category android:name="android.intent.category.SELECTED_ALTERNATIVE"
/>
   <data android:mimeType="vnd.android.cursor.item/vnd.google.note" />
</intent-filter>

Más contenido relacionado

La actualidad más candente

Fundamentos de Programación Orientada a Objetos
Fundamentos de Programación Orientada a ObjetosFundamentos de Programación Orientada a Objetos
Fundamentos de Programación Orientada a Objetos
Marines Ahuanlla
 
Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1
Ezer Ayala Mutul
 

La actualidad más candente (19)

Fundamentos programacion orientada a objetos
Fundamentos programacion orientada a objetosFundamentos programacion orientada a objetos
Fundamentos programacion orientada a objetos
 
Fundamentos de Programación Orientada a Objetos
Fundamentos de Programación Orientada a ObjetosFundamentos de Programación Orientada a Objetos
Fundamentos de Programación Orientada a Objetos
 
Mv vol2 ver5.0(corregido)
Mv vol2 ver5.0(corregido)Mv vol2 ver5.0(corregido)
Mv vol2 ver5.0(corregido)
 
Programación orientada al objeto
Programación orientada al objetoProgramación orientada al objeto
Programación orientada al objeto
 
Programación orientada a objetos, fundamentos
Programación orientada a objetos, fundamentosProgramación orientada a objetos, fundamentos
Programación orientada a objetos, fundamentos
 
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POO
 
Clases y Objetos
Clases y ObjetosClases y Objetos
Clases y Objetos
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
ProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosProgramacióN Orientada A Objetos
ProgramacióN Orientada A Objetos
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
 
POO sencillito
POO sencillitoPOO sencillito
POO sencillito
 
Programacion orientada-a-objetos
Programacion orientada-a-objetosProgramacion orientada-a-objetos
Programacion orientada-a-objetos
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)
 
Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1
 
Benita ppp unidad 1
Benita ppp unidad 1Benita ppp unidad 1
Benita ppp unidad 1
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 

Destacado (7)

Presentacion Android Cliente/Servidor
Presentacion Android Cliente/ServidorPresentacion Android Cliente/Servidor
Presentacion Android Cliente/Servidor
 
curso android tema 5
curso android tema 5curso android tema 5
curso android tema 5
 
Sqlite
SqliteSqlite
Sqlite
 
31-Android Generalidades Sobre Servicios Webs con MySQL
31-Android Generalidades Sobre Servicios Webs con MySQL31-Android Generalidades Sobre Servicios Webs con MySQL
31-Android Generalidades Sobre Servicios Webs con MySQL
 
CONEXION A LA BASE DE DATOS SQLITE A TRAVES DE UNA APLICACION MOVIL ANDRO...
CONEXION A  LA BASE DE DATOS  SQLITE A TRAVES DE UNA APLICACION  MOVIL  ANDRO...CONEXION A  LA BASE DE DATOS  SQLITE A TRAVES DE UNA APLICACION  MOVIL  ANDRO...
CONEXION A LA BASE DE DATOS SQLITE A TRAVES DE UNA APLICACION MOVIL ANDRO...
 
Conexion a servidor desde android
Conexion a servidor desde androidConexion a servidor desde android
Conexion a servidor desde android
 
SQLite - Overview
SQLite - OverviewSQLite - Overview
SQLite - Overview
 

Similar a Curso Android Tema 4

Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
brandonhh10
 

Similar a Curso Android Tema 4 (20)

presentacion de actividades e intent.pptx
presentacion de actividades e intent.pptxpresentacion de actividades e intent.pptx
presentacion de actividades e intent.pptx
 
Desarrollo android - 4 - arquitectura de aplicación
Desarrollo android  - 4 - arquitectura de aplicaciónDesarrollo android  - 4 - arquitectura de aplicación
Desarrollo android - 4 - arquitectura de aplicación
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Píldoras android i. Intro - 2ª parte
Píldoras android i. Intro - 2ª partePíldoras android i. Intro - 2ª parte
Píldoras android i. Intro - 2ª parte
 
Taller androidparte2
Taller androidparte2Taller androidparte2
Taller androidparte2
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Porafolio unidad 1
Porafolio unidad 1Porafolio unidad 1
Porafolio unidad 1
 
Porafolio unidad 1
Porafolio unidad 1Porafolio unidad 1
Porafolio unidad 1
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Introduccion a Android
Introduccion a AndroidIntroduccion a Android
Introduccion a Android
 
Guia1 pii
Guia1 piiGuia1 pii
Guia1 pii
 
Android bootcamp 101 v2.0
Android bootcamp 101 v2.0Android bootcamp 101 v2.0
Android bootcamp 101 v2.0
 
Tema 4 4_1_intenciones_servicios
Tema 4 4_1_intenciones_serviciosTema 4 4_1_intenciones_servicios
Tema 4 4_1_intenciones_servicios
 
Cuestionario Android
Cuestionario AndroidCuestionario Android
Cuestionario Android
 
Unidad II.pdf
Unidad II.pdfUnidad II.pdf
Unidad II.pdf
 
Programacion orientada a objetos de Felipe Tocora
Programacion orientada a objetos de Felipe TocoraProgramacion orientada a objetos de Felipe Tocora
Programacion orientada a objetos de Felipe Tocora
 
TEMAS DE JAVA DEL 11 AL 23
TEMAS DE JAVA DEL 11 AL 23TEMAS DE JAVA DEL 11 AL 23
TEMAS DE JAVA DEL 11 AL 23
 
Aplicacion movil
Aplicacion movilAplicacion movil
Aplicacion movil
 

Último

TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
NadiaMartnez11
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
pvtablets2023
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 

Último (20)

Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 

Curso Android Tema 4

  • 1. Comunicación e Intents Arquitectura de comunicación en Android Intents Yésica Hernández Jorge Frank Cesar Aguirre
  • 2. Comunicación e Intents Arquitectura de comunicación en Android Todo en android está formado por agrupaciones de componentes. Cada componente puede ser invocado de manera independiente Por ejemplo, puedo solicitar acceso a los contactos de la agenda o bien a la lista de archivos multimedia desde cualquier aplicación. Cada componente esta identificado por su clase o bién si es un archivo por una URI que es un identificador único similar a una url web. Esta comunicación se logra a través de mensajes que son escuchados por el sistema operativo y reenviados a las aplicaciones y componentes destino, como una oficina postal.
  • 3. Comunicación e Intents Arquitectura de comunicación en Android Las actividades, servicios y los receptores de mensajes de difusión Reutilizar se comunican y son invocados mediante mensajes asíncronos funciones de llamados Intents y pueden o no esperar una respuesta despues de otras apps efectuar la llamada. Permiten invocar actividades de otras aplicaciones Permiten enviar datos mediante un objeto de tipo Bundle que puede contener objetos serializables Compartimos información Los elementos accesibles se pueden referenciar por su nombre de entre clase + paquete o bien por una URI Actividades Nombre clase o destino Activity Datos
  • 4. Comunicación e Intents Intents a detalle Leer Implícito Acción (por contenido) Editar Componentes de la misma aplicación URI Resolu Nombre (Explícito) ción Intent Datos Bundle Responder llamadas Filtros Componentes de otras aplicaciones
  • 5. Comunicación e Intents Ejemplos de Intents Clase: android.content.Intent Intent explicito: Intent intent = new Intent(this, OtraActividad.class); Enviar datos a otra intent.putExtra(“Valor1", “Hola soy el valor 1"); actividad bien intent.putExtra("Valor2", “Hola soy el valor 2"); conocida o proceso Intent intent = new Intent( Intento implícito, se Intent.ACTION_VIEW, resuelve por la acción y Uri.parse("http://unam.mobi") el tipo de contenido que ); se obtiene con la URI, responden todas las apps que pueden visualizar el contenido
  • 6. Comunicación e Intents Enviar un intent Las clases que heredan de Activity y Process tienen los siguientes métodos para Llamar otras aplicaciones o componentes startActivity(Intent) Llamar y esperar una respuesta de otras aplicaciones o componentes startActivityForResult( Intent, A_REQUEST_ID ); Usar el metodo para recibir la respuesta y un switch usando el A_REQUEST_ID @Override protected void onActivityResult( int requestCode, int resultCode, Intent data) { … }
  • 7. Comunicación e Intents Programemos el siguiente código Clase: android.content.Intent Intent compartir = new Se lanza el mensaje Intent(Intent.ACTION_SEND); y se crea un menú compartir.setType("text/plain"); para elegir el destinatario por el compartir.putExtra( contexto del android.content.Intent.EXTRA_TEXT, contenido. “Hola mundo!“ ); startActivity(Intent.createChooser( compartir, “Compartir usando") );
  • 8. Comunicación e Intents Recibir los datos de un intent Las clases que heredan de Activity y Process tienen los siguientes métodos para Obtener los datos del Intent recibido Ya sea que inició la actividad o es resultado de otra comunicación Bundle extras = getIntent().getExtras(); if (extras == null) { return; } String valor1 = extras.getString("Valor1"); String valor2 = extras.getString("Valor2"); if (valor1 != null && valor2 != null) { … }
  • 9. Filtros Filtrado de intents El verdadero poder de los intents recide en el concepto de acciones de los intents.Con estos sólo se describe el tipo de acción que se quiere realizar y opcionalmente los datos sobre los que se quiere llevar el intent La manera en que el sistema identifica el componente que puede responder es a través de la comparación del intent con los ontentfilters que están en el Android Manifest de las demás aplicaciones en el dispositivo. Cuando declaramos un compnente en el manifest, podemos incluir intent filters que declaran las capacidades del componente y así poder responder intents de otras aplicaciones.
  • 10. Filtros Filtrado de intents <intent-filter android:label="@string/resolve_title"> <action android:name="com.android.notepad.action.EDIT_TITLE" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.ALTERNATIVE" /> <category android:name="android.intent.category.SELECTED_ALTERNATIVE" /> <data android:mimeType="vnd.android.cursor.item/vnd.google.note" /> </intent-filter>