Android : HowTo Sauvegarde de l’état de l’application

Comme précisé plus haut, Android détruit votre vue en cas de changement d’orientation pour construire la nouvelle vue. Donc vous voulez peut être sauvegarder des données avant le changement d’orientation, par exemple si l’utilisateur a commencé à saisir du texte.
Pour résoudre ce problème, il suffit d’utiliser la méthode onSaveInstanceState().
Cette méthode est appelée à chaque fois que votre activité est détruite.
Grâce à cette méthode vous pouvez sauvegarder les données que vous souhaitez dans un Bundle afin de pouvoir récupérer l’état de votre activité.
Cette récupération est possible, car dans le onCreate, la méthode onRestoreInstanceState() est appelée afin de récupérer l’état de votre vue, donc dans cette méthode vous pouvez utiliser toutes les valeurs que vous avez stocké dans la méthode précédente.

Limitation

La méthode onSaveInstanceState, possède ses limites car on peut stocker peu d’information dans un Bundle et dans certains cas on aurait besoin de stocker beaucoup plus.
On peut contourner ce problème en utilisant la méthode onRetainNonConfigurationInstance() qui vous permet de renvoyer un objet que vous pouvez récupérer grâce à la méthode getLastNonConfigurationInstance().

 

Source : http://www.tutos-android.com/gestion-rotation-android


Leave a Reply