SlideShare une entreprise Scribd logo
1  sur  74
PROGRAMACIÓN MULTIMEDIA
Y
DISPOSITIVOS MÓVILES
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
COMENZANDO A
PROGRAMAR
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS
Los Intents permiten enviar o recibir
información desde y hacia otras
actividades o servicios.
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS
También, permiten lanzar mensajes de
tipo Broadcast para identificar cuando
ciertos eventos han ocurrido.
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS
ACTIVITY 1
ACTIVITY 2
ACTIVITY 3
INTENT
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
CLASIFICACIÓN
LOS INTENTS
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS
INTENTS IMPLICITOS
INTENTS EXPLICITOS
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: EXPLICITOS
Los explícitos son aquellos que nombran
el componente que se necesita, ejemplo,
la clase Java específica que se necesita
para realizar alguna tarea.
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: EXPLICITOS
Intent ejemplo = new Intent(this, AcitividadDos.class);
activity.startActivity(ejemplo);
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: EL MANIFEST
<activity android:name=".MiActivity"
android:label="Mi Activity">
<intent -filter>
<action android:name="nuestra.accion.nombreAccion"/>
<category android:name="android.intent.category.DEFAULT”/>
</intent>
</activity>
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: DETECTAR LA LLAMADA
Intent ejemplo= this.getIntent();
if (ejemplo == null){
Log.d("Tag", "La actividad no se ha llamado mediante un intent.")
}
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: IMPLICITOS
Los implícitos son aquellos que le
preguntan al sistema qué servicio o
componente es el más adecuado para
realizar la petición, es decir, no
específica un componente en especial.
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: IMPLICITOS
publicstaticvoidinvocaNavegador(Activity activity){
Intentejemplo=newIntent(Intent.ACTION_VIEW);
ejemplo.setData(Uri.parse("http://www.jaen.es"));
activity.startActivity(ejemplo);
}
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: IMPLICITOS
publicstaticvoidinvocaBuscador(Activity activity){
Intentejemplo=newIntent(Intent.ACTION_WEB_SEARCH);
ejemplo.putExtra(SearchManager.QUERY, CADENA);
activity.startActivity(ejemplo);
}
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: IMPLICITOS
publicstaticvoidinvocaTelefono(Activity activity){
Intentejemplo=newIntent(Intent.ACTION_DIAL
Uri.parse("tel:NÚMERO"));
activity.startActivity(ejemplo);
}
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: IMPLICITOS
publicstaticvoidinvocaTelefono (Activityactivity){
Intentejemplo=newIntent(Intent.ACTION_CALL);
ejemplo.setData(Uri.parse("tel:NÚMERO”));
activity.startActivity(ejemplo);
}
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: IMPLICITOS
publicstaticvoidinvocaMapa(Activity activity){
Intentejemplo=newIntent(Intent.ACTION_VIEW);
ejemplo.setData(Uri.parse("geo:0,0?z=4&q=institutos"));
activity.startActivity(ejemplo);
}
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: IMPLICITOS
publicstaticvoidinvocaCamara(Activity activity){
Intentejemplo=newIntent(android.media.action.IMAGE_CAPTURE);
activity.startActivity(ejemplo);
}
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: IMPLICITOS
publicstaticvoidinvocaContactos(Activity activity){
Intentejemplo=newIntent(Intent.ACTION_VIEW,
Uri.parse("content://contacts/people/"));
activity.startActivity(ejemplo);
}
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
ELEMENTOS
LOS INTENTS
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
setFlag()
putExtras()FLAGS
addCategory()EXTRAS
SetType(), setDataAndType()CATEGORÍA
SetData()TIPO DE DATOS
setComponent() setClass() setClassName()setAction()DATOS
Intent i = new Intent (this, Clase.class);ACCIÓN
NOMBRE DEL COMPONENTE
LOS INTENTS
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: NOMBRE
Identificamos el componente que
queremos lanzar con el Intent.
Podemos utilizar el nombre de clase
totalmente cualificado
(es.vcarmen.Actividad)
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: NOMBRE
Intentintent=newIntent();
//USANDOsetComponent()
ComponentName componente =newComponentName(this, Actividad.class);
intent.setComponent(componente);
//USANDOsetClass()
intent.setClass(this, Actividad.class);
//USANDOsetClassName()
intent.setClassName(“es.vcarmen", “es.vcarmen.Actividad");
startActivity(intent);
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: ACCIÓN
Cadena de Texto que informa la acción
a realizar.
ACTION_CALL
ACTION_SET_WALLPAPER
ACTION_DELETE
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: ACCIÓN
ACCIONES DEFINIDAS POR EL USUARIO
ACCIONES AUXILIARES
ACCIONES GENÉRICAS
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: ACCIÓN
ACCIONES DEFINIDAS POR EL USUARIO
static final String ACTION_MIA = "com.example.action.MIA";
<intent -filter>
<action android:name="nuestra.accion.ACTION_MIA"/>
<category android:name="android.intent.category.DEFAULT”/>
</intent>
</activity>
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: DATOS
Contiene la URI (Uniform Resource
Identifier) de los datos sobre los que
los componentes que reciba el Intent
debe trabajar
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: TIPO DE DATOS
El tipo de datos determina que
componente procesará los datos.
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: TIPO DE DATOS
Intent correo= new Intent();
correo.setAction(Intent.ACTION_SEND);
correo.putExtra(Intent.EXTRA_TEXT, mensaje);
correo.setType("text/plain");
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: CATEGORIA
Complementa a la acción. Indica
información adicional sobre el tipo de
componente que ha de ser lanzado.
CATEGORY_BROWSABLE
CATEGORY_HOME
CATEGORY_LAUNCHER
CATEGORY_PREFERENCE
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: EXTRAS
Información adicional que será
recibida por el componente lanzado.
Está formada por un conjunto de
pares variable/valor. Estas colecciones
de valores se almacenan en un objeto
de la clase Bundle.
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: EXTRAS
RELLENAR BUNDLE CON DATOS
putExtra(String name, boolean value);
putExtra(String name, int value);
putExtra(String name, double value);
putExtra(String name, String value);
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: EXTRAS
OBTENER UN BUNDLE
Bundle b = intent.getExtras();
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: EXTRAS
AÑADIR BUNDLE DE OTROS INTENTS
putExtra (String name Intent otroIntent)
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: EXTRAS
AÑADIR BUNDLE AL INTENT
intent.putExtras(b2)
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: FLAGS
Metadatos que indican al sistema
Android como iniciar la actividad y
sirven para determinar el
comportamiento del componente que
atienda la petición.
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
FLAG_ACTIVITY_FORWARD_RESULT
LOS INTENTS: FLAGS
FLAG_ACTIVITY_NEW_DOCUMENT
FLAG_ACTIVITY_CLEAR_TASK
FLAG_FROM_BACKGROUND
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
PROPAGACIÓN
LOS INTENTS
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
BROADCAST
SERVICE
ACTIVITY
LOS INTENTS: PROPAGACIÓN
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: PROPAGACIÓN ACTIVITY
Mecanismo para iniciar una nueva
pantalla (Actividad) dentro de nuestra
aplicación.
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
Context.startActivityForResult()
Context.startActivity()
LOS INTENTS: PROPAGACIÓN ACTIVITY
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: PROPAGACIÓN ACTIVITY
STARTACTIVITY
Intent ejemplo = new Intent(this, AcitividadDos.class);
activity.startActivity(ejemplo);
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: PROPAGACIÓN ACTIVITY
STARTACTIVITYFORRESULT: ActividadUno.Class
private static final int REQUEST_CODE = 10;
--------
Intent ejemplo = new Intent(this, ActividadDos.class);
activity.startActivityForResult(ejemplo, REQUEST_CODE);
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: PROPAGACIÓN ACTIVITY
STARTACTIVITYFORRESULT
ACTIVIDAD 1
startActivityForResult
REQUEST_CODE
ACTIVIDAD 2
SetResult
RESULT_OK
ACTIVIDAD 1
onActivityResult
REQUEST_CODE?
RESULT_OK?
REQUEST_CODE
RESULT_OK
REQUEST_CODE
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: PROPAGACIÓN ACTIVITY
STARTACTIVITYFORRESULT: ActividadDos.Class
@Override
public void finish() {
Intent data = new Intent();
data.putExtra(“RETORNO", “Este es el valor de retorno");
setResult(RESULT_OK, data);
super.finish();
}
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: PROPAGACIÓN ACTIVITY
STARTACTIVITYFORRESULT: ActividadUno.Class
@Override
protected void onActivityResult(intrequestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK && requestCode == REQUEST_CODE) {
if (data.hasExtra(“RETORNO")) {
CODIGO A REALIZAR
}
}
}
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: PROPAGACIÓN SERVICE
Para iniciar un Servicio, para modificar
su comportamiento o para establecer
conexión entre componentes.
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
Context.bindService()
Context.stopService()
Context.startService()
LOS INTENTS: PROPAGACIÓN SERVICE
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: PROPAGACIÓN BROADCAST
Para enviar mensajes a todos los
receptores registrados.
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
Context.sendStickyOrdererBroadcast()
Context.sendStickyBroadcast()
Context.sendOrdererBroadcast()
Context.sendBroadcast()
LOS INTENTS: PROPAGACIÓN BROADCAST
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: PROPAGACIÓN BROADCAST
Cuando creamos una nueva
actividades, servicios o receptor
broadcast podemos informar al sistema
que tipo de intent implícito pueden ser
lanzado con nuestro componente.
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
FILTROS
LOS INTENTS
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: FILTROS
Determinan la acción que puede llevar
a cabo un componente y los tipos de
Intents que pueden gestionarla.
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
FILTROS POR TIPO DE DATOS
FILTROS POR CATEGORÍA
FILTROS POR ACCIÓN
LOS INTENTS: FILTROS
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: FILTROS
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
PENDINGINTENT
LOS INTENTS
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: PENDINGINTENT
Un especifica una acción a realizar
en el futuro. Pasa un intent futuro
a otra aplicación y la permisos
como si la aplicación creadora
estuviese aún en vigor.
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: PENDINGINTENT
Puede ser ejecutado en un cierto
momento de tiempo en el futuro
a través de la AlarmManager
provocar que se ejecute cuando el
usuario realice alguna acción.
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
PendingIntent.getService()
PendingIntent.getBroadcast()
PendingIntent.getActivity()
LOS INTENTS: PENDINGINTENT
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: PENDINGINTENT
PendingIntent.getActivity()
Recupera un PendingIntent para
comenzar una actividad.
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: PENDINGINTENT
PendingIntent.getBroadcast()
Recupera un PendingIntent para
escuchar una emisión.
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: PENDINGINTENT
PendingIntent.getService()
Recupera un PendingIntent para
iniciar un servicio.
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: PENDINGINTENT
Intent intent = new Intent(this, Actividad.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 1, intent,
PendingIntent.FLAG_CANCEL_CURRENT);
try {
CÓDIGO ACCIÓN
pendingIntent.send();
} catch (PendingIntent.CanceledException e) {
e.printStackTrace();
}
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
LOS INTENTS: PENDINGINTENT
Intent intent = new Intent(this, Actividad.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 1, intent, 0);
AlarmManager alarma= (AlarmManager) getSystemService(ALARM_SERVICE);
alarma.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() +
(seconds * 1000), pendingIntent);
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
BANDERAS
INTENT
CÓDIGO DE LOCALIZACIÓN
CONTEXTO
LOS INTENTS: PENDINGINTENT
ELEMENTOS
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
RECEPCIÓN DE BROADCAST
PROPAGACIÓN DE SERVICIOS
ACTIVIDAD DE INVESTIGACIÓN
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
COMENZANDO A PROGRAMAR
© J.D.CABRERA
PROGRAMACIÓN MULTIMEDIA
Y
DISPOSITIVOS MÓVILES
Programación móvil con Intents

Contenu connexe

Tendances

Veritas Resiliency Platform3.3.2 ~AWSへのデプロイメント~
Veritas Resiliency Platform3.3.2 ~AWSへのデプロイメント~Veritas Resiliency Platform3.3.2 ~AWSへのデプロイメント~
Veritas Resiliency Platform3.3.2 ~AWSへのデプロイメント~vxsejapan
 
Manage your kubernetes cluster with cluster api, azure and git ops
Manage your kubernetes cluster with cluster api, azure and git opsManage your kubernetes cluster with cluster api, azure and git ops
Manage your kubernetes cluster with cluster api, azure and git opsJorge Arteiro
 
Padrões-04 - Padrões Arquiteturais - Broker
Padrões-04 - Padrões Arquiteturais - BrokerPadrões-04 - Padrões Arquiteturais - Broker
Padrões-04 - Padrões Arquiteturais - BrokerEduardo Nicola F. Zagari
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Data Migration to Azure SQL and Azure SQL Managed Instance - June 19 2020
Data Migration to Azure SQL and Azure SQL Managed Instance - June 19 2020Data Migration to Azure SQL and Azure SQL Managed Instance - June 19 2020
Data Migration to Azure SQL and Azure SQL Managed Instance - June 19 2020Timothy McAliley
 
Computação Móvel e Ubíqua
Computação Móvel e UbíquaComputação Móvel e Ubíqua
Computação Móvel e UbíquaIury Teixeira
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaAdriano Teixeira de Souza
 
Trabalho - Projeto redes
Trabalho - Projeto redesTrabalho - Projeto redes
Trabalho - Projeto redesValdir Junior
 
Sistemas Distribuídos - Aula 03
Sistemas Distribuídos - Aula 03Sistemas Distribuídos - Aula 03
Sistemas Distribuídos - Aula 03Arthur Emanuel
 
Sistemas operativos distribuidos e de redes
Sistemas operativos distribuidos e de redesSistemas operativos distribuidos e de redes
Sistemas operativos distribuidos e de redesPortal_do_Estudante_SD
 
Modelo de computacion distribuida
Modelo de computacion distribuidaModelo de computacion distribuida
Modelo de computacion distribuidaFabian Ortiz
 
8.3.3.3 lab collecting 6 taller
8.3.3.3 lab   collecting  6 taller8.3.3.3 lab   collecting  6 taller
8.3.3.3 lab collecting 6 tallermanchegow
 

Tendances (20)

Veritas Resiliency Platform3.3.2 ~AWSへのデプロイメント~
Veritas Resiliency Platform3.3.2 ~AWSへのデプロイメント~Veritas Resiliency Platform3.3.2 ~AWSへのデプロイメント~
Veritas Resiliency Platform3.3.2 ~AWSへのデプロイメント~
 
Manage your kubernetes cluster with cluster api, azure and git ops
Manage your kubernetes cluster with cluster api, azure and git opsManage your kubernetes cluster with cluster api, azure and git ops
Manage your kubernetes cluster with cluster api, azure and git ops
 
Padrões-04 - Padrões Arquiteturais - Broker
Padrões-04 - Padrões Arquiteturais - BrokerPadrões-04 - Padrões Arquiteturais - Broker
Padrões-04 - Padrões Arquiteturais - Broker
 
Projeto de rede
Projeto de redeProjeto de rede
Projeto de rede
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Data Migration to Azure SQL and Azure SQL Managed Instance - June 19 2020
Data Migration to Azure SQL and Azure SQL Managed Instance - June 19 2020Data Migration to Azure SQL and Azure SQL Managed Instance - June 19 2020
Data Migration to Azure SQL and Azure SQL Managed Instance - June 19 2020
 
Computação Móvel e Ubíqua
Computação Móvel e UbíquaComputação Móvel e Ubíqua
Computação Móvel e Ubíqua
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e Paralela
 
Subneteo
Subneteo Subneteo
Subneteo
 
Trabalho - Projeto redes
Trabalho - Projeto redesTrabalho - Projeto redes
Trabalho - Projeto redes
 
Sistemas Distribuídos - Aula 03
Sistemas Distribuídos - Aula 03Sistemas Distribuídos - Aula 03
Sistemas Distribuídos - Aula 03
 
Azure vnet
Azure vnetAzure vnet
Azure vnet
 
comandos-cli-router
comandos-cli-routercomandos-cli-router
comandos-cli-router
 
Sistemas operativos distribuidos e de redes
Sistemas operativos distribuidos e de redesSistemas operativos distribuidos e de redes
Sistemas operativos distribuidos e de redes
 
Tesis de maestria
Tesis de maestriaTesis de maestria
Tesis de maestria
 
Servidor WEB
Servidor WEBServidor WEB
Servidor WEB
 
Modelo de computacion distribuida
Modelo de computacion distribuidaModelo de computacion distribuida
Modelo de computacion distribuida
 
8.3.3.3 lab collecting 6 taller
8.3.3.3 lab   collecting  6 taller8.3.3.3 lab   collecting  6 taller
8.3.3.3 lab collecting 6 taller
 
Java modulo 01 - Introdução
Java modulo 01 - IntroduçãoJava modulo 01 - Introdução
Java modulo 01 - Introdução
 
La Virtualizzazione
La VirtualizzazioneLa Virtualizzazione
La Virtualizzazione
 

Similaire à Programación móvil con Intents

DISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONES
DISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONESDISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONES
DISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONESJacinto Cabrera Rodríguez
 
PROGRAMACIÓN ANDROID: MULTIMEDIA - EJEMPLOS DE APP GRAFICOS
PROGRAMACIÓN ANDROID: MULTIMEDIA - EJEMPLOS DE APP GRAFICOSPROGRAMACIÓN ANDROID: MULTIMEDIA - EJEMPLOS DE APP GRAFICOS
PROGRAMACIÓN ANDROID: MULTIMEDIA - EJEMPLOS DE APP GRAFICOSJacinto Cabrera Rodríguez
 
PROGRAMACIÓN ANDROID: MULTIMEDIA - EJEMPLOS DE APP IMAGENES
PROGRAMACIÓN ANDROID: MULTIMEDIA - EJEMPLOS DE APP IMAGENESPROGRAMACIÓN ANDROID: MULTIMEDIA - EJEMPLOS DE APP IMAGENES
PROGRAMACIÓN ANDROID: MULTIMEDIA - EJEMPLOS DE APP IMAGENESJacinto Cabrera Rodríguez
 

Similaire à Programación móvil con Intents (20)

DISPOSITIVOS MÓVILES: LA CLASE ACTIVITY
DISPOSITIVOS MÓVILES: LA CLASE ACTIVITYDISPOSITIVOS MÓVILES: LA CLASE ACTIVITY
DISPOSITIVOS MÓVILES: LA CLASE ACTIVITY
 
DISPOSITIVOS MÓVILES: ACTION BAR - TOOLBAR
DISPOSITIVOS MÓVILES: ACTION BAR - TOOLBARDISPOSITIVOS MÓVILES: ACTION BAR - TOOLBAR
DISPOSITIVOS MÓVILES: ACTION BAR - TOOLBAR
 
DISPOSITIVOS MÓVILES: CONTROLES BÁSICOS
DISPOSITIVOS MÓVILES: CONTROLES BÁSICOSDISPOSITIVOS MÓVILES: CONTROLES BÁSICOS
DISPOSITIVOS MÓVILES: CONTROLES BÁSICOS
 
DISPOSITIVOS MÓVILES: LAYOUTS
DISPOSITIVOS MÓVILES: LAYOUTSDISPOSITIVOS MÓVILES: LAYOUTS
DISPOSITIVOS MÓVILES: LAYOUTS
 
DISPOSITIVOS MÓVILES: FRAGMENTOS
DISPOSITIVOS MÓVILES: FRAGMENTOSDISPOSITIVOS MÓVILES: FRAGMENTOS
DISPOSITIVOS MÓVILES: FRAGMENTOS
 
DISPOSITIVOS MÓVILES: MENÚS Y SUBMMENÚS
DISPOSITIVOS MÓVILES: MENÚS Y SUBMMENÚSDISPOSITIVOS MÓVILES: MENÚS Y SUBMMENÚS
DISPOSITIVOS MÓVILES: MENÚS Y SUBMMENÚS
 
DISPOSITIVOS MÓVILES: MATERIAL DESIGN
DISPOSITIVOS MÓVILES: MATERIAL DESIGNDISPOSITIVOS MÓVILES: MATERIAL DESIGN
DISPOSITIVOS MÓVILES: MATERIAL DESIGN
 
DISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONES
DISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONESDISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONES
DISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONES
 
DISPOSITIVOS MÓVILES: CONTROLES DE TEXTO
DISPOSITIVOS MÓVILES: CONTROLES DE TEXTODISPOSITIVOS MÓVILES: CONTROLES DE TEXTO
DISPOSITIVOS MÓVILES: CONTROLES DE TEXTO
 
DISPOSITIVOS MÓVILES: MATERIAL DESIGN II
DISPOSITIVOS MÓVILES: MATERIAL DESIGN IIDISPOSITIVOS MÓVILES: MATERIAL DESIGN II
DISPOSITIVOS MÓVILES: MATERIAL DESIGN II
 
DISPOSITIVOS MÓVILES: LISTVIEW
DISPOSITIVOS MÓVILES: LISTVIEWDISPOSITIVOS MÓVILES: LISTVIEW
DISPOSITIVOS MÓVILES: LISTVIEW
 
DISPOSITIVOS MÓVILES: CONTROLES DE BOTÓN
DISPOSITIVOS MÓVILES: CONTROLES DE BOTÓNDISPOSITIVOS MÓVILES: CONTROLES DE BOTÓN
DISPOSITIVOS MÓVILES: CONTROLES DE BOTÓN
 
DISPOSITIVOS MÓVILES: BLOQUE 2
DISPOSITIVOS MÓVILES: BLOQUE 2DISPOSITIVOS MÓVILES: BLOQUE 2
DISPOSITIVOS MÓVILES: BLOQUE 2
 
DISPOSITIVOS MÓVILES: SENSORES
DISPOSITIVOS MÓVILES: SENSORESDISPOSITIVOS MÓVILES: SENSORES
DISPOSITIVOS MÓVILES: SENSORES
 
PROGRAMACIÓN ANDROID: MULTIMEDIA - EL VIDEO
PROGRAMACIÓN ANDROID: MULTIMEDIA - EL VIDEOPROGRAMACIÓN ANDROID: MULTIMEDIA - EL VIDEO
PROGRAMACIÓN ANDROID: MULTIMEDIA - EL VIDEO
 
DISPOSITIVOS MÓVILES: BLOQUE 1
DISPOSITIVOS MÓVILES: BLOQUE 1DISPOSITIVOS MÓVILES: BLOQUE 1
DISPOSITIVOS MÓVILES: BLOQUE 1
 
DISPOSITIVOS MÓVILES: GRIDVIEW - SPINNER
DISPOSITIVOS MÓVILES: GRIDVIEW - SPINNERDISPOSITIVOS MÓVILES: GRIDVIEW - SPINNER
DISPOSITIVOS MÓVILES: GRIDVIEW - SPINNER
 
PROGRAMACIÓN ANDROID: MULTIMEDIA - EJEMPLOS DE APP GRAFICOS
PROGRAMACIÓN ANDROID: MULTIMEDIA - EJEMPLOS DE APP GRAFICOSPROGRAMACIÓN ANDROID: MULTIMEDIA - EJEMPLOS DE APP GRAFICOS
PROGRAMACIÓN ANDROID: MULTIMEDIA - EJEMPLOS DE APP GRAFICOS
 
PROGRAMACIÓN ANDROID: MULTIMEDIA - EJEMPLOS DE APP IMAGENES
PROGRAMACIÓN ANDROID: MULTIMEDIA - EJEMPLOS DE APP IMAGENESPROGRAMACIÓN ANDROID: MULTIMEDIA - EJEMPLOS DE APP IMAGENES
PROGRAMACIÓN ANDROID: MULTIMEDIA - EJEMPLOS DE APP IMAGENES
 
DISPOSITIVOS MÓVILES: BLOQUE 4
DISPOSITIVOS MÓVILES: BLOQUE 4DISPOSITIVOS MÓVILES: BLOQUE 4
DISPOSITIVOS MÓVILES: BLOQUE 4
 

Plus de Jacinto Cabrera Rodríguez

Plus de Jacinto Cabrera Rodríguez (20)

REDES: DUCTUS Y CANALETAS II
REDES: DUCTUS Y CANALETAS IIREDES: DUCTUS Y CANALETAS II
REDES: DUCTUS Y CANALETAS II
 
OTRAS UNIDADES DE ALMACENAMIENTO
OTRAS UNIDADES DE ALMACENAMIENTOOTRAS UNIDADES DE ALMACENAMIENTO
OTRAS UNIDADES DE ALMACENAMIENTO
 
LAS FUENTES EN LA HISTORIA DEL ARTE
LAS FUENTES EN LA HISTORIA DEL ARTELAS FUENTES EN LA HISTORIA DEL ARTE
LAS FUENTES EN LA HISTORIA DEL ARTE
 
TOULOUSE LAUTREC
TOULOUSE LAUTRECTOULOUSE LAUTREC
TOULOUSE LAUTREC
 
PRÁCTICA MANEJO DE MEMORIA
PRÁCTICA MANEJO DE MEMORIAPRÁCTICA MANEJO DE MEMORIA
PRÁCTICA MANEJO DE MEMORIA
 
ZÓCALOS DE TARJETAS
ZÓCALOS DE TARJETASZÓCALOS DE TARJETAS
ZÓCALOS DE TARJETAS
 
ZÓCALOS DE PROCESADOR
ZÓCALOS DE PROCESADORZÓCALOS DE PROCESADOR
ZÓCALOS DE PROCESADOR
 
TIPOS DE MÓDULOS DE MEMORIA
TIPOS DE MÓDULOS DE MEMORIATIPOS DE MÓDULOS DE MEMORIA
TIPOS DE MÓDULOS DE MEMORIA
 
CARCASAS DE ORDENADOR
CARCASAS DE ORDENADORCARCASAS DE ORDENADOR
CARCASAS DE ORDENADOR
 
TIPOS DE TORNILLOS
TIPOS DE TORNILLOSTIPOS DE TORNILLOS
TIPOS DE TORNILLOS
 
PRACTICAS DE REDES: PRÁCTICA 26
PRACTICAS DE REDES: PRÁCTICA 26PRACTICAS DE REDES: PRÁCTICA 26
PRACTICAS DE REDES: PRÁCTICA 26
 
PRACTICAS DE REDES: PRÁCTICA 25
PRACTICAS DE REDES: PRÁCTICA 25PRACTICAS DE REDES: PRÁCTICA 25
PRACTICAS DE REDES: PRÁCTICA 25
 
PRACTICAS DE REDES: PRÁCTICA 24
PRACTICAS DE REDES: PRÁCTICA 24PRACTICAS DE REDES: PRÁCTICA 24
PRACTICAS DE REDES: PRÁCTICA 24
 
PRACTICAS DE REDES: PRÁCTICA 23
PRACTICAS DE REDES: PRÁCTICA 23PRACTICAS DE REDES: PRÁCTICA 23
PRACTICAS DE REDES: PRÁCTICA 23
 
REDES: TOMAS DE DATOS
REDES: TOMAS DE DATOSREDES: TOMAS DE DATOS
REDES: TOMAS DE DATOS
 
PRACTICAS DE REDES: PRÁCTICA 22
PRACTICAS DE REDES: PRÁCTICA 22PRACTICAS DE REDES: PRÁCTICA 22
PRACTICAS DE REDES: PRÁCTICA 22
 
PRACTICAS DE REDES: PRÁCTICA 21
PRACTICAS DE REDES: PRÁCTICA 21PRACTICAS DE REDES: PRÁCTICA 21
PRACTICAS DE REDES: PRÁCTICA 21
 
PRACTICAS DE REDES: PRÁCTICA 20
PRACTICAS DE REDES: PRÁCTICA 20PRACTICAS DE REDES: PRÁCTICA 20
PRACTICAS DE REDES: PRÁCTICA 20
 
PRACTICAS DE REDES: PRÁCTICA 19
PRACTICAS DE REDES: PRÁCTICA 19PRACTICAS DE REDES: PRÁCTICA 19
PRACTICAS DE REDES: PRÁCTICA 19
 
PRACTICAS DE REDES: PRÁCTICA 18
PRACTICAS DE REDES: PRÁCTICA 18PRACTICAS DE REDES: PRÁCTICA 18
PRACTICAS DE REDES: PRÁCTICA 18
 

Programación móvil con Intents

  • 1.
  • 3.
  • 4. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA COMENZANDO A PROGRAMAR
  • 5. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS
  • 6. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS
  • 7. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS
  • 8. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS
  • 9. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS Los Intents permiten enviar o recibir información desde y hacia otras actividades o servicios.
  • 10. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS También, permiten lanzar mensajes de tipo Broadcast para identificar cuando ciertos eventos han ocurrido.
  • 11. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS ACTIVITY 1 ACTIVITY 2 ACTIVITY 3 INTENT
  • 12. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA CLASIFICACIÓN LOS INTENTS
  • 13. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS INTENTS IMPLICITOS INTENTS EXPLICITOS
  • 14. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: EXPLICITOS Los explícitos son aquellos que nombran el componente que se necesita, ejemplo, la clase Java específica que se necesita para realizar alguna tarea.
  • 15. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: EXPLICITOS Intent ejemplo = new Intent(this, AcitividadDos.class); activity.startActivity(ejemplo);
  • 16. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: EL MANIFEST <activity android:name=".MiActivity" android:label="Mi Activity"> <intent -filter> <action android:name="nuestra.accion.nombreAccion"/> <category android:name="android.intent.category.DEFAULT”/> </intent> </activity>
  • 17. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: DETECTAR LA LLAMADA Intent ejemplo= this.getIntent(); if (ejemplo == null){ Log.d("Tag", "La actividad no se ha llamado mediante un intent.") }
  • 18. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: IMPLICITOS Los implícitos son aquellos que le preguntan al sistema qué servicio o componente es el más adecuado para realizar la petición, es decir, no específica un componente en especial.
  • 19. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: IMPLICITOS publicstaticvoidinvocaNavegador(Activity activity){ Intentejemplo=newIntent(Intent.ACTION_VIEW); ejemplo.setData(Uri.parse("http://www.jaen.es")); activity.startActivity(ejemplo); }
  • 20. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: IMPLICITOS publicstaticvoidinvocaBuscador(Activity activity){ Intentejemplo=newIntent(Intent.ACTION_WEB_SEARCH); ejemplo.putExtra(SearchManager.QUERY, CADENA); activity.startActivity(ejemplo); }
  • 21. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: IMPLICITOS publicstaticvoidinvocaTelefono(Activity activity){ Intentejemplo=newIntent(Intent.ACTION_DIAL Uri.parse("tel:NÚMERO")); activity.startActivity(ejemplo); }
  • 22. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: IMPLICITOS publicstaticvoidinvocaTelefono (Activityactivity){ Intentejemplo=newIntent(Intent.ACTION_CALL); ejemplo.setData(Uri.parse("tel:NÚMERO”)); activity.startActivity(ejemplo); }
  • 23. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: IMPLICITOS publicstaticvoidinvocaMapa(Activity activity){ Intentejemplo=newIntent(Intent.ACTION_VIEW); ejemplo.setData(Uri.parse("geo:0,0?z=4&q=institutos")); activity.startActivity(ejemplo); }
  • 24. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: IMPLICITOS publicstaticvoidinvocaCamara(Activity activity){ Intentejemplo=newIntent(android.media.action.IMAGE_CAPTURE); activity.startActivity(ejemplo); }
  • 25. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: IMPLICITOS publicstaticvoidinvocaContactos(Activity activity){ Intentejemplo=newIntent(Intent.ACTION_VIEW, Uri.parse("content://contacts/people/")); activity.startActivity(ejemplo); }
  • 26. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA ELEMENTOS LOS INTENTS
  • 27. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA setFlag() putExtras()FLAGS addCategory()EXTRAS SetType(), setDataAndType()CATEGORÍA SetData()TIPO DE DATOS setComponent() setClass() setClassName()setAction()DATOS Intent i = new Intent (this, Clase.class);ACCIÓN NOMBRE DEL COMPONENTE LOS INTENTS
  • 28. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: NOMBRE Identificamos el componente que queremos lanzar con el Intent. Podemos utilizar el nombre de clase totalmente cualificado (es.vcarmen.Actividad)
  • 29. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: NOMBRE Intentintent=newIntent(); //USANDOsetComponent() ComponentName componente =newComponentName(this, Actividad.class); intent.setComponent(componente); //USANDOsetClass() intent.setClass(this, Actividad.class); //USANDOsetClassName() intent.setClassName(“es.vcarmen", “es.vcarmen.Actividad"); startActivity(intent);
  • 30. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: ACCIÓN Cadena de Texto que informa la acción a realizar. ACTION_CALL ACTION_SET_WALLPAPER ACTION_DELETE
  • 31. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: ACCIÓN ACCIONES DEFINIDAS POR EL USUARIO ACCIONES AUXILIARES ACCIONES GENÉRICAS
  • 32. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: ACCIÓN ACCIONES DEFINIDAS POR EL USUARIO static final String ACTION_MIA = "com.example.action.MIA"; <intent -filter> <action android:name="nuestra.accion.ACTION_MIA"/> <category android:name="android.intent.category.DEFAULT”/> </intent> </activity>
  • 33. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: DATOS Contiene la URI (Uniform Resource Identifier) de los datos sobre los que los componentes que reciba el Intent debe trabajar
  • 34. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: TIPO DE DATOS El tipo de datos determina que componente procesará los datos.
  • 35. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: TIPO DE DATOS Intent correo= new Intent(); correo.setAction(Intent.ACTION_SEND); correo.putExtra(Intent.EXTRA_TEXT, mensaje); correo.setType("text/plain");
  • 36. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: CATEGORIA Complementa a la acción. Indica información adicional sobre el tipo de componente que ha de ser lanzado. CATEGORY_BROWSABLE CATEGORY_HOME CATEGORY_LAUNCHER CATEGORY_PREFERENCE
  • 37. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: EXTRAS Información adicional que será recibida por el componente lanzado. Está formada por un conjunto de pares variable/valor. Estas colecciones de valores se almacenan en un objeto de la clase Bundle.
  • 38. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: EXTRAS RELLENAR BUNDLE CON DATOS putExtra(String name, boolean value); putExtra(String name, int value); putExtra(String name, double value); putExtra(String name, String value);
  • 39. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: EXTRAS OBTENER UN BUNDLE Bundle b = intent.getExtras();
  • 40. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: EXTRAS AÑADIR BUNDLE DE OTROS INTENTS putExtra (String name Intent otroIntent)
  • 41. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: EXTRAS AÑADIR BUNDLE AL INTENT intent.putExtras(b2)
  • 42. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: FLAGS Metadatos que indican al sistema Android como iniciar la actividad y sirven para determinar el comportamiento del componente que atienda la petición.
  • 43. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA FLAG_ACTIVITY_FORWARD_RESULT LOS INTENTS: FLAGS FLAG_ACTIVITY_NEW_DOCUMENT FLAG_ACTIVITY_CLEAR_TASK FLAG_FROM_BACKGROUND
  • 44. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA PROPAGACIÓN LOS INTENTS
  • 45. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA BROADCAST SERVICE ACTIVITY LOS INTENTS: PROPAGACIÓN
  • 46. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: PROPAGACIÓN ACTIVITY Mecanismo para iniciar una nueva pantalla (Actividad) dentro de nuestra aplicación.
  • 47. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA Context.startActivityForResult() Context.startActivity() LOS INTENTS: PROPAGACIÓN ACTIVITY
  • 48. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: PROPAGACIÓN ACTIVITY STARTACTIVITY Intent ejemplo = new Intent(this, AcitividadDos.class); activity.startActivity(ejemplo);
  • 49. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: PROPAGACIÓN ACTIVITY STARTACTIVITYFORRESULT: ActividadUno.Class private static final int REQUEST_CODE = 10; -------- Intent ejemplo = new Intent(this, ActividadDos.class); activity.startActivityForResult(ejemplo, REQUEST_CODE);
  • 50. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: PROPAGACIÓN ACTIVITY STARTACTIVITYFORRESULT ACTIVIDAD 1 startActivityForResult REQUEST_CODE ACTIVIDAD 2 SetResult RESULT_OK ACTIVIDAD 1 onActivityResult REQUEST_CODE? RESULT_OK? REQUEST_CODE RESULT_OK REQUEST_CODE
  • 51. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: PROPAGACIÓN ACTIVITY STARTACTIVITYFORRESULT: ActividadDos.Class @Override public void finish() { Intent data = new Intent(); data.putExtra(“RETORNO", “Este es el valor de retorno"); setResult(RESULT_OK, data); super.finish(); }
  • 52. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: PROPAGACIÓN ACTIVITY STARTACTIVITYFORRESULT: ActividadUno.Class @Override protected void onActivityResult(intrequestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK && requestCode == REQUEST_CODE) { if (data.hasExtra(“RETORNO")) { CODIGO A REALIZAR } } }
  • 53. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: PROPAGACIÓN SERVICE Para iniciar un Servicio, para modificar su comportamiento o para establecer conexión entre componentes.
  • 54. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA Context.bindService() Context.stopService() Context.startService() LOS INTENTS: PROPAGACIÓN SERVICE
  • 55. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: PROPAGACIÓN BROADCAST Para enviar mensajes a todos los receptores registrados.
  • 56. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA Context.sendStickyOrdererBroadcast() Context.sendStickyBroadcast() Context.sendOrdererBroadcast() Context.sendBroadcast() LOS INTENTS: PROPAGACIÓN BROADCAST
  • 57. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: PROPAGACIÓN BROADCAST Cuando creamos una nueva actividades, servicios o receptor broadcast podemos informar al sistema que tipo de intent implícito pueden ser lanzado con nuestro componente.
  • 58. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA FILTROS LOS INTENTS
  • 59. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: FILTROS Determinan la acción que puede llevar a cabo un componente y los tipos de Intents que pueden gestionarla.
  • 60. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA FILTROS POR TIPO DE DATOS FILTROS POR CATEGORÍA FILTROS POR ACCIÓN LOS INTENTS: FILTROS
  • 61. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: FILTROS
  • 62. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA PENDINGINTENT LOS INTENTS
  • 63. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: PENDINGINTENT Un especifica una acción a realizar en el futuro. Pasa un intent futuro a otra aplicación y la permisos como si la aplicación creadora estuviese aún en vigor.
  • 64. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: PENDINGINTENT Puede ser ejecutado en un cierto momento de tiempo en el futuro a través de la AlarmManager provocar que se ejecute cuando el usuario realice alguna acción.
  • 65. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA PendingIntent.getService() PendingIntent.getBroadcast() PendingIntent.getActivity() LOS INTENTS: PENDINGINTENT
  • 66. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: PENDINGINTENT PendingIntent.getActivity() Recupera un PendingIntent para comenzar una actividad.
  • 67. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: PENDINGINTENT PendingIntent.getBroadcast() Recupera un PendingIntent para escuchar una emisión.
  • 68. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: PENDINGINTENT PendingIntent.getService() Recupera un PendingIntent para iniciar un servicio.
  • 69. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: PENDINGINTENT Intent intent = new Intent(this, Actividad.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 1, intent, PendingIntent.FLAG_CANCEL_CURRENT); try { CÓDIGO ACCIÓN pendingIntent.send(); } catch (PendingIntent.CanceledException e) { e.printStackTrace(); }
  • 70. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA LOS INTENTS: PENDINGINTENT Intent intent = new Intent(this, Actividad.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 1, intent, 0); AlarmManager alarma= (AlarmManager) getSystemService(ALARM_SERVICE); alarma.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (seconds * 1000), pendingIntent);
  • 71. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA BANDERAS INTENT CÓDIGO DE LOCALIZACIÓN CONTEXTO LOS INTENTS: PENDINGINTENT ELEMENTOS
  • 72. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA RECEPCIÓN DE BROADCAST PROPAGACIÓN DE SERVICIOS ACTIVIDAD DE INVESTIGACIÓN
  • 73. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES COMENZANDO A PROGRAMAR © J.D.CABRERA PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES