SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
import android.app.Activity;
public class HelloWorld extends Activity
{
}
onCreate()
onStart()
onResume()
onPause()
onStop()
onDestroy()
1 import android.app.Activity;
2 import android.os.Bundle;
3 import android.widget.TextView;
4 public class HelloWorld extends Activity
5 {
6 /** Appelée à la creation de l’activité. */
7 @Override
8 protected void onCreate(Bundle icicle)
9 {
10 super.onCreate(icicle);
11 /** remarquez ici on n’utilise pas de layout XML */
12 TextView textView = new TextView(this);
13 textView.setText("Hello world !");
14 setContentView(textView);
15 }
16 @Override
17 protected void onStart()
18 {
19 super.onStart();
20 Toast.makeText(this, "appel de la méthode
onStart()", 1).show();
21 }
22 protected void onResume()
23 {
24 super.onResume();
25 Toast.makeText(this, "appel de la méthode
onRestart()", 1).show();
26 }
27
28 ...
29
30 }
•
•
•
•
•
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Intent intent = new Intent (Activité_départ.this, Activité_destination.class);
Intent intent = new Intent (Action, Données);
public void startActivity (Intent intent)
Intent intent = new Intent (A.this, B.class);
startActivity(intent);
public void startActivityForResult (Intent intent, int requestCode)
requestCode
Intent putExtra(String clé, valeur)
private final String EXTRA_LOGIN = "login" ; // clé1/default
private final String EXTRA_PASSWORD = "password" ; // clé2/default
………………
Intent intent = new Intent (MainActivity.this, SecondeAvtivity.class);
intent.putExtra(Extra_LOGIN, login.getText().toString()); //valeur récupérée de l’IHM
intent.putExtra(EXTRA_PASSWORD, password.getText().toString());
startActivity(intent); //intent contient deux valeurs en Extra
getIntent()
X get{X}Extra (String clé) getStringExtra getIntExtra
getFloatExtra
float[] getFloatArrayExtra (String clé)
private final String EXTRA_LOGIN = "login" ; //nouvelle déclaration des clés
private final String EXTRA_PASSWORD = "password" ;
………………
Intent intent = getIntent();
String logintxt = intent.getStringExtra(Extra_LOGIN);
String passwordtxt = intent.getStringExtra(Extra_PASSWORD);
//Traiter les données login et mot de passe récupéré de l’activité précédente
…………………
public static final private final
<activity android:name=".SecondeActivity" > </activity>
startActivityForResult(Intent, int)
Intent
int startActivity
onActivityResult(int requestCode, int resultCode, Intent data)
requestCode startActivityForResult
resultCode RESULT_CANCELED RESULT_OK
data:
startActivityForResult
void setResult (int resultCode) :
void setResult (int resultCode, Intent data) :
Intent myActivityIntent = new Intent (<action>, <donnée>) ;
startActivity (myActivityIntent) ;
ACTION_VIEW, ACTION_DIAL, ACTION_MAIN, ...
"Nom_du_package.intent.action.NOM_DE_L_ACTION"
1 /*Préparer la donnée de l’Intent Implicite : il s’agit d’un objet URI */
2 Uri telephone = Uri.parse("tel:71111222");
3 /*Créer un Intent Implicite avec l’action ACTION_DIAL et la donnée à traiter par l’action */
4 Intent intent = new Intent (Intent.ACTION_DIAL, telephone);
5 /*Démarrer une activité (inconnue), Android intercepte l’appel et fera le nécessaire */
6 startActivity (intent);
<activity>
<intent-filter>
<action android:name="android.intent.action.ACTION_DIAL" />
</intent-filter>
</activity>
ACTION_MAIN
ACTION_DIAL
ACTION_SEARCH
ACTION_SENDTO
ACTION_VIEW
ACTION_WEB_SEARCH
<activity>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.SENDTO" />
</intent-filter>
</activity>
Bundle onCreate(Bundle)
onSaveInstanceState(Bundle)
onCreate(Bundle)
onRestoreInstanceState(Bundle)
onStart()
public final static String CALCUL = "0"; //clé de la valeur à sauvegarder
1. @Override
2. protected void onSaveInstanceState(Bundle outState) {
3. super.onSaveInstanceState(outState);
4. int a = Integer.valueOf(Label.getText().toString());
5. //utiliser la méthode putXXX(clé, valeur) du Bundle pour la sauvegarde
6. outState.putInt(CALCUL,a); }
1. @Override
2. protected void onRestoreInstanceState(Bundle savedInstanceState) {
3. super.onRestoreInstanceState(savedInstanceState);
4. //utiliser la méthode getXXX(clé) du Bundle pour la récupération
5. int sauvegarde = savedInstanceState.getInt(CALCUL);
6. Label.setText(String.valueOf(sauvegarde)); }
public Object onRetainNonConfigurationInstance()
onStop() onDestroy()
onRetainNonConfigurationInstance()
onCreate getLastNonConfigurationInstance()
1. @Override
2. public Object onRetainNonConfigurationInstance(){
3. //la classe « DonneesConservees » permet de contenir tous les objets voulus et la méthode
« constituerDonnees » va construire l’objet selon l’instance voulus par l’instance de
l’activité
4. DonneesConservees data = construireDonnees ();
5. return data;
6. }
1. @Override
2. protected void onCreate (Bundle savedInstanceState) {
3. ...
4. //Récupération de l’objet de type « DonneesConservees »
5. DonneesConservees data = (DonneesConservees) getLastNonConfigurationInstance();
6. //S’il n’y a pas de retour depuis un changement de configuration, alors data est null
7. if (data == null) { ... }
8. }
android:screenOrientation = "portrait"
android:screenOrientation = "landscape"
android:configChanges = "orientation"
<activity
android:name= ".MainActivity"
...
android:configChanges= "orientation"
android:screenOrientation= "portrait"
>
</activity>

Contenu connexe

Plus de Amir Souissi

Chap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsChap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsAmir Souissi
 
Chapitre 6 traitement des exceptions
Chapitre 6  traitement des exceptionsChapitre 6  traitement des exceptions
Chapitre 6 traitement des exceptionsAmir Souissi
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfacesAmir Souissi
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeAmir Souissi
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de javaAmir Souissi
 
Chapitre 4 persistance des donnees
Chapitre 4  persistance des donneesChapitre 4  persistance des donnees
Chapitre 4 persistance des donneesAmir Souissi
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objetAmir Souissi
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generaleAmir Souissi
 
Chapitre 1 decouverte du developpement android
Chapitre 1  decouverte du developpement androidChapitre 1  decouverte du developpement android
Chapitre 1 decouverte du developpement androidAmir Souissi
 
Atelier symfony n 3
Atelier symfony n 3Atelier symfony n 3
Atelier symfony n 3Amir Souissi
 
Atelier symfony n 2
Atelier symfony n 2Atelier symfony n 2
Atelier symfony n 2Amir Souissi
 
Atelier symfony n 1
Atelier symfony n 1Atelier symfony n 1
Atelier symfony n 1Amir Souissi
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classeAmir Souissi
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisationAmir Souissi
 

Plus de Amir Souissi (20)

Chap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsChap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitions
 
Chapitre 6 traitement des exceptions
Chapitre 6  traitement des exceptionsChapitre 6  traitement des exceptions
Chapitre 6 traitement des exceptions
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphisme
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de java
 
Chapitre 4 persistance des donnees
Chapitre 4  persistance des donneesChapitre 4  persistance des donnees
Chapitre 4 persistance des donnees
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objet
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generale
 
Chapitre 1 decouverte du developpement android
Chapitre 1  decouverte du developpement androidChapitre 1  decouverte du developpement android
Chapitre 1 decouverte du developpement android
 
Atelier symfony n 3
Atelier symfony n 3Atelier symfony n 3
Atelier symfony n 3
 
Atelier symfony n 2
Atelier symfony n 2Atelier symfony n 2
Atelier symfony n 2
 
Atelier symfony n 1
Atelier symfony n 1Atelier symfony n 1
Atelier symfony n 1
 
Tp n 6 linux
Tp n 6 linuxTp n 6 linux
Tp n 6 linux
 
Tp n 5 linux
Tp n 5 linuxTp n 5 linux
Tp n 5 linux
 
Tp n 4 linux
Tp n 4 linuxTp n 4 linux
Tp n 4 linux
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
 
Tp n 1 linux
Tp n 1 linuxTp n 1 linux
Tp n 1 linux
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classe
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisation
 

Dernier

Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24BenotGeorges3
 
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 37
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneTxaruka
 
Aux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAmar LAKEL, PhD
 
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 37
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursStagiaireLearningmat
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfSylvianeBachy
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxJCAC
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfbdp12
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film françaisTxaruka
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 37
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Gabriel Gay-Para
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxMartin M Flynn
 
Calendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilCalendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilfrizzole
 

Dernier (16)

Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024
 
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
 
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienne
 
Aux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècle
 
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceurs
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film français
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
 
Calendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilCalendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avril
 

Chapitre 3 activites et intents

  • 1.
  • 2.
  • 3. import android.app.Activity; public class HelloWorld extends Activity { }
  • 4.
  • 5.
  • 7. 1 import android.app.Activity; 2 import android.os.Bundle; 3 import android.widget.TextView; 4 public class HelloWorld extends Activity 5 { 6 /** Appelée à la creation de l’activité. */ 7 @Override 8 protected void onCreate(Bundle icicle) 9 { 10 super.onCreate(icicle); 11 /** remarquez ici on n’utilise pas de layout XML */ 12 TextView textView = new TextView(this); 13 textView.setText("Hello world !"); 14 setContentView(textView); 15 } 16 @Override 17 protected void onStart() 18 { 19 super.onStart(); 20 Toast.makeText(this, "appel de la méthode onStart()", 1).show(); 21 } 22 protected void onResume() 23 { 24 super.onResume(); 25 Toast.makeText(this, "appel de la méthode onRestart()", 1).show(); 26 } 27 28 ... 29 30 }
  • 8.
  • 9.
  • 12. <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
  • 13.
  • 14.
  • 15. Intent intent = new Intent (Activité_départ.this, Activité_destination.class); Intent intent = new Intent (Action, Données);
  • 16.
  • 17. public void startActivity (Intent intent) Intent intent = new Intent (A.this, B.class); startActivity(intent); public void startActivityForResult (Intent intent, int requestCode) requestCode
  • 18. Intent putExtra(String clé, valeur) private final String EXTRA_LOGIN = "login" ; // clé1/default private final String EXTRA_PASSWORD = "password" ; // clé2/default ……………… Intent intent = new Intent (MainActivity.this, SecondeAvtivity.class); intent.putExtra(Extra_LOGIN, login.getText().toString()); //valeur récupérée de l’IHM intent.putExtra(EXTRA_PASSWORD, password.getText().toString()); startActivity(intent); //intent contient deux valeurs en Extra
  • 19. getIntent() X get{X}Extra (String clé) getStringExtra getIntExtra getFloatExtra float[] getFloatArrayExtra (String clé)
  • 20. private final String EXTRA_LOGIN = "login" ; //nouvelle déclaration des clés private final String EXTRA_PASSWORD = "password" ; ……………… Intent intent = getIntent(); String logintxt = intent.getStringExtra(Extra_LOGIN); String passwordtxt = intent.getStringExtra(Extra_PASSWORD); //Traiter les données login et mot de passe récupéré de l’activité précédente ………………… public static final private final <activity android:name=".SecondeActivity" > </activity>
  • 21. startActivityForResult(Intent, int) Intent int startActivity onActivityResult(int requestCode, int resultCode, Intent data) requestCode startActivityForResult resultCode RESULT_CANCELED RESULT_OK data: startActivityForResult void setResult (int resultCode) : void setResult (int resultCode, Intent data) :
  • 22.
  • 23. Intent myActivityIntent = new Intent (<action>, <donnée>) ; startActivity (myActivityIntent) ; ACTION_VIEW, ACTION_DIAL, ACTION_MAIN, ... "Nom_du_package.intent.action.NOM_DE_L_ACTION"
  • 24.
  • 25. 1 /*Préparer la donnée de l’Intent Implicite : il s’agit d’un objet URI */ 2 Uri telephone = Uri.parse("tel:71111222"); 3 /*Créer un Intent Implicite avec l’action ACTION_DIAL et la donnée à traiter par l’action */ 4 Intent intent = new Intent (Intent.ACTION_DIAL, telephone); 5 /*Démarrer une activité (inconnue), Android intercepte l’appel et fera le nécessaire */ 6 startActivity (intent); <activity> <intent-filter> <action android:name="android.intent.action.ACTION_DIAL" /> </intent-filter> </activity>
  • 27. <activity> <intent-filter> <action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.SENDTO" /> </intent-filter> </activity>
  • 28.
  • 29.
  • 30.
  • 32.
  • 33.
  • 34. public final static String CALCUL = "0"; //clé de la valeur à sauvegarder 1. @Override 2. protected void onSaveInstanceState(Bundle outState) { 3. super.onSaveInstanceState(outState); 4. int a = Integer.valueOf(Label.getText().toString()); 5. //utiliser la méthode putXXX(clé, valeur) du Bundle pour la sauvegarde 6. outState.putInt(CALCUL,a); } 1. @Override 2. protected void onRestoreInstanceState(Bundle savedInstanceState) { 3. super.onRestoreInstanceState(savedInstanceState); 4. //utiliser la méthode getXXX(clé) du Bundle pour la récupération 5. int sauvegarde = savedInstanceState.getInt(CALCUL); 6. Label.setText(String.valueOf(sauvegarde)); }
  • 35.
  • 36. public Object onRetainNonConfigurationInstance() onStop() onDestroy() onRetainNonConfigurationInstance() onCreate getLastNonConfigurationInstance()
  • 37. 1. @Override 2. public Object onRetainNonConfigurationInstance(){ 3. //la classe « DonneesConservees » permet de contenir tous les objets voulus et la méthode « constituerDonnees » va construire l’objet selon l’instance voulus par l’instance de l’activité 4. DonneesConservees data = construireDonnees (); 5. return data; 6. } 1. @Override 2. protected void onCreate (Bundle savedInstanceState) { 3. ... 4. //Récupération de l’objet de type « DonneesConservees » 5. DonneesConservees data = (DonneesConservees) getLastNonConfigurationInstance(); 6. //S’il n’y a pas de retour depuis un changement de configuration, alors data est null 7. if (data == null) { ... } 8. }
  • 38. android:screenOrientation = "portrait" android:screenOrientation = "landscape" android:configChanges = "orientation" <activity android:name= ".MainActivity" ... android:configChanges= "orientation" android:screenOrientation= "portrait" > </activity>