Atelier 4
Navigation Entre Activités :
Intent, Action, Bundle, Object
Walid ZEDDINI
www.zeddini.com
Exemple 1 : ACTION
Cette activité nécessite l’existence des contacts préalablement enregistrés dans le téléphone ou l’AVD.
Main Activity
Intent.ACTION_PICK
Intent.ACTION_VIEW
Placer l’appel
Terminer l’appel
URI du contact sélectionné
Activité 1 : Bundle
Objectif : Activity1 recueille deux valeurs de son interface utilisateur et appelle Activity2 pour calculer la
somme de ces deux valeurs. Le résultat est renvoyé de l'Activity 2 à Activity1.
Publicité
TAF-1 : Créer un projet Android
• Projet Android Studio:
1.
2.
3.
Le nom du projet : IntentBundleDemo,
Plateforme Android à utiliser : si PC performant 8.0 ou 7.0 sinon 6.0 ou 4.0
Package : tn.rnu.isi
• Fichier java de l'activite: Activity1.java
• Fichier layout de l'UI : main1.xml
• Eventuellement Fichier de ressources : res/values/string.xml
TAF-2 : Etapes à suivre
Etape 1. Créer GUI pour Activity1 (main1.xml)
Etape 2. Créer GUI pour Activity2 (main2.xml)
Etape 3. Dans l’Activity1 : Après avoir cliqué sur le bouton des données, de l'interface utilisateur est placé
dans un paquet et envoyé à Activity2. Un listener reste attentif attendre des résultats à venir de l'activité
Publicité
appelée.
Etape 4. Activity2 . Appelée à partir Activity1. Extrait des données d'entrée du paquet attaché à l'intent.
Effectue le calcul local. Ajoute le résultat bundle. Retourne signal OK.
CODE SOURCE
Le code source du projet IntentBundleDemo.rar est téléchargeable à partir du lien:
https://drive.google.com/open?id=1Ig_BfE5D_XDQD9QbUWJigv082Oy7J0eu
Activité 1 : Objet & Bundle
Objectif : Etendre Activity1 de l’exercice précédent pour créer un objet Person et le transmettre à Activity2
dans le bundle IPC en tant que données sérialisées.
TAF-1 : Créer un projet Android
• Projet Android Studio:
1.
2.
3.
Le nom du projet : IntentBundleComplexObjects,
Plateforme Android à utiliser : si PC performant 8.0 ou 7.0 sinon 6.0 ou 4.0
Publicité
Package : tn.rnu.isi
• Fichier java de l'activite: Activity1.java
• Fichier layout de l'UI : main1.xml
• Eventuellement Fichier de ressources : res/values/string.xml
TAF-2 : Etapes à suivre
Etape 1. Créer un objet Ex : Person. Assurer vous qu’il soit Serializable.
package tn.rnu.isi.intentbundlecomplexobjects;
import java.io.Serializable;
public class Person implements Serializable {
private static final long serialVersionUID = 1L;
private String firstName;
private String lastName;
public Person(String firstName, String lastName) {
super();
this.firstName = firstName;
this.lastName = lastName; }
Publicité
public String getFullName() {
return firstName + " " + lastName;
}
}// Person
Etape 2. Modifier Activity1 : Créer une instance de la classe Person et ajouter la au bundle en utilisant la méthode
putSerializable (key, object);
Etape 3. Remplir le Bundle par un objet (au niveau de l’activité appelante)
Etape 4. Extraire l’objet du Bundle (au niveau de l’activité appelée)
CODE SOURCE
Le code source du projet IntentBundleComplexObjects.rar est téléchargeable à partir du lien:
https://drive.google.com/open?id=1BjBnZ83DHzCjCtWBxBLkl885102J1oJN