0% ont trouvé ce document utile (0 vote)
9 vues29 pages

Utilisation des Intent en Android

Transféré par

Kahina Saadaoui
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
9 vues29 pages

Utilisation des Intent en Android

Transféré par

Kahina Saadaoui
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Les ressources & Intent

Hakim MOKEDDEM
École nationale Supérieure d’Informatique
Plan

• Les ressources
• Utilisation des Intent
– Le contexte sous Android
– Lancement des activités
– Lancement des applications externes
– Récupération du résultat d'un Intent
Plan

• Les ressources
• Utilisation des Intent
– Le contexte sous Android
– Lancement des activités
– Lancement des applications externes
– Récupération du résultat d'un Intent
Les ressources

Ressource. Un contenu statique utilisé dans l'application.

Ressources images Ressources


chaine de caractères
Les ressources

Les ressources sont utiles pour gérer le changement de

configuration.

Exemple.

• Supporter plusieurs langues.

• Supporter les différentes tailles et orientations d’écran.


Les ressources

Exemple 1. Chaine de caractères statique

<string name=“msg">Envoyer</string>

Accès au niveau du code


Text(
text = stringResource([Link])
)
Les ressources

Exemple 2. Chaine de caractères avec des paramètres

<string name="congratulate">Happy %1$s


%2$d</string>

Accès au niveau du code


Text(
text = stringResource([Link], "New
Year", 2021)
)
Plan

• Les ressources
• Utilisation des Intent
– Le contexte sous Android
– Lancement des activités
– Lancement des applications externes
– Récupération du résultat d'un Intent
Le contexte sous Android

Context est une classe abstraite fournie par Android et

utilisée pour effectuer diverses opérations comme:

• Accéder aux ressources.

• Lancement des activités, des services, etc.

• Utiliser les base de données.

• Accéder aux services système tels que la localisation,


etc.
Le contexte sous Android

Deux types de Context: Activity et Application


Le contexte sous Android

• Accès au contexte d’un composable


@Composable

fun MyComposable(

context: Context = [Link]

){

}
• Accès au contexte d’une application
context: Context = applicationContext.
Le contexte sous Android

• Utiliser le contexte Activity lorsqu'on a besoin d’un


contexte qui dépend du cycle de vie de l’activité. Par
exemple, demander une permission, afficher un
message Toast, etc.

• Utiliser le contexte Application lorsqu'on a besoin d’un


contexte de longue durée de vie. Par exemple, accès à
une base de données local, exécuter un service en
arrière plan.
Plan

• Les ressources
• Utilisation des Intent
– Le contexte sous Android
– Lancement des activités
– Lancement des applications externes
– Récupération du résultat d'un Intent
Qu'est ce qu'un Intent ?

Un composant Android pour lancer des opérations

Lancer une activité

Lancer une
application externe
Lancement d'une activité

Cas 1. Sans envoi de données.


val intent = Intent(this,OtherActivity::[Link])
[Link](intent)

Cas 2. Envoi de données de type primitif.


val intent = Intent(this,OtherActivity::[Link])
[Link]("id", 5)
[Link]("name", "Bill")
}
[Link](intent)
Lancement d'une activité

Cas 3. Envoi de données de type objet (La classe de


l'objet doit implémenter l'interface Serializable).
Exemple
data class Person(val id:Int,val name:String):Serializable
Au niveau de l'activité
val intent = Intent(this,OtherActivity::[Link])
[Link]("pr",Person(5,"Bill Gates"))
[Link](intent)
Récupération des données
envoyées

• Lancement de Intent
val intent = Intent(this,Activity2::[Link])
[Link]("id",5)
[Link]("pr",Person(5,"Bill Gates"))
}
[Link](intent)

• Récupération de Intent dans Activity2


1. val id= [Link]("id",0) //valeur par défaut 0
2. val person = [Link]("pr") as Person
Plan

• Les ressources
• Utilisation des Intent
– Le contexte sous Android
– Lancement des activités
– Lancement des applications externes
– Récupération du résultat d'un Intent
Lancement d'une application
externe

Un Intent permet de lancer une application installée sur le


dispositif mobile.

Ouvrir l'interface
Lancer un appel
d'appel

Lancer la caméra Afficher un lieu sur


Google Maps

Partager un message
Lancement d'une application
externe

1. Ouvrir l'interface d'appel


Exemple
val data = [Link]("[Link]
val intent = Intent(Intent.ACTION_DIAL, data)
[Link](intent)
Lancement d'une application
externe

2. Afficher un lieu sur Google Maps


Exemple
val latitude = ....
val longitude = ....
val data = [Link]("geo:$latitude,$longitude")
val intent = Intent(Intent.ACTION_VIEW,data)
[Link](intent)
Lancement d'une application
externe

3. Ouvrir une page web


Exemple
val data = [Link]("[Link]
val intent = Intent(Intent.ACTION_VIEW, data)
[Link](intent)
Lancement d'une application
externe

4. Partager un message
Exemple
val intent= Intent(Intent.ACTION_SEND)
[Link](Intent.EXTRA_TEXT, "This is my text to send.")
[Link] = "text/plain"
val shareIntent = [Link](intent, null)
[Link](shareIntent)
Plan

• Les ressources
• Utilisation des Intent
– Le contexte sous Android
– Lancement des activités
– Lancement des applications externes
– Récupération du résultat d'un IntentÒ
Récupération du résultat d'un
Intent

Problème. Comment récupérer le résultat d'un Intent au


niveau de l'activité ?
Exemple
• Lancer la caméra, prendre une photo et l'afficher sur
l'interface de l'activité.
• Le résultat dans ce cas est la photo prise par la caméra.
Récupération du résultat d'un
Intent

Utilisation de rememberLauncherForActivityResult et
ActivityResultContracts
• rememberLauncherForActivityResult: utilisé pour
lancer l’activité dans le but de récupérer le résultat.
• ActivityResultContracts: utilisé pour spécifier le type
d’activité à lancer. Par exemple, prendre une photo,
capturer une vidéo, etc.
Récupération du résultat d'un
Intent

Exemple. Prendre une photo et l'afficher sur l'interface


1. Lancer le rememberLauncherForActivityResul et
récupérer le résultat
val result = remember { mutableStateOf<Bitmap?>(null) }
val launcher =
rememberLauncherForActivityResult(ActivityResultContracts.
TakePicturePreview()) {
[Link] = it }
Récupération du résultat d'un
Intent

Exemple. Prendre une photo et l'afficher sur l'interface


2. Afficher de l’image
[Link]?.let {
Image([Link]() , contentDescription =
null) }
Références

1. [Link]
2. [Link]
common
3. [Link]
activities-architecture-96a23b783036

Vous aimerez peut-être aussi