Programmation
Mobile
• Communication entre applications :
la classe Intent
• La communication interne du système Android est basée sur
l’envoi et la réception de messages.
• Ce mécanisme permet de transmettre l'information
d'une Activity à une autre.
• Les intentions sont des objets instances de la classe Intent.
• Communication entre applications :
• Changer d’activité :
• Le démarrage d’un intent au sein d’une même application est utilisé
pour la navigation entre écrans d’une interface graphique.
• Un objet Intent véhicule toutes les informations nécessaires à la
réalisation d’une action (ou à la réception d’information).
• Naviguer entre écrans au sein d’une application :
• Une application est souvent composée de plusieurs écrans qui
s’enchaînent les uns à la suite des autres en fonction de l’utilisateur.
• La principale utilisation d’un Intent est le démarrage de ces activités
(une à la fois) permettant cet enchaînement.
• De façon plus générale, chaque composant de l’application
nécessitera l’emploi d’un Intent pour être démarré.
• Démarrer une activité :
• Passer des données :
• Pour transmettre des données entre activités, il faut utiliser un
EXTRA pour un intent.
• À cette fin, la classe Intent dispose de méthodes putExtra et
getExtras grâce auxquelles un objet de type Bundle véhiculera
vos données d’une activité à une autre.
• Passer des données :
• L’insertion de données dans ce conteneur se fait au moyen de
la méthode putExtra :
intent.putExtra("CLE",VALEUR);
• Nous pouvons passer tous types primitifs : Boolean, Integer,
String, Float, Double, Long.
Intent intent = new Intent ( Main.this, SecondActivity.class);
intent.putExtra("nom" , "FlenBenFoulen");
intent.putExtra("age" , 25);
startActivity(intent);
• Recevoir des données :
• l’extraction des données au moyen de la méthode getExtras.
getIntent().getExtras().getString(“Clé")
nom.setText(getIntent().getExtras().getString("nom"));
age.setText(getIntent().getExtras().getString("age"));
Ou vous pouvez utiliser Bundles :
Bundle valeurs = getIntent().getExtras();
nom.setText(valeurs.getString("nom"));
age.setText(valeurs.getString("age"));
TP_TD: Les Intents
Arrêtons d’ être des simples
consommateurs de technologie