Question sur la partie 4.3.5 : Restaurer une activité depuis le cache

Bonjour :slight_smile:

Je viens de regarder cette vidéo qui explique super bien comment enregistrer l’état d’une variable au sein de l’activité, mais j’ai une question :

  • Comment sauvegarder sur quelle activité se trouve l’utilisateur ?

Par exemple, imaginons une application de type ebook, avec uniquement un EditText sur chaque activité et les boutons suivant / précédent, sans menu ni rien d’autre, comment pourrait-on permettre à l’utilisateur de quitter l’application, voire même redémarrer son téléphone, et au prochain lancement revenir sur exactement la même activité pour reprendre la lecture au même endroit ?

Est-ce que ça se ferait avec les Intent dans le onCreate avec le savedInstanceState, et si oui est-ce que je fais rentrer l’activité dans un Bundle bien que je ne sache pas comment, où est-ce qu’il y a une autre manière de gérer ça ?

Merci pour votre aide !

J’ai trouvé une solution pas forcément la plus convenable je pense mais parfaitement fonctionnelle, ça fera l’affaire en attendant…

En gros j’ai créé une classe qui converti une liste de chiffres en nom de classe (en fonction de l’ordre que j’ai choisi par exemple MainActivity::class.java = 0, la page suivante 1 celle d’après 2 etc…)

Ensuite j’ai donné un numéro à une variable activityNumber sur chaque activité dans le onCreate(), et j’ai inclus une fonction dans chaque onStop() qui au travers d’une classe UserManager me permet d’enregistrer les variables de l’utilisateur dans le DataStore.

Du coup C’est un peu fastidieux parce que je dois tenir une liste des activités à jour dans ma classe de conversion, sur chaque nouvelle activité je dois penser à dire activityNumber = X, et ne pas oublier de save dans chaque onStop

Si quelqu’un à un conseil ou une idée je suis preneur :slight_smile:

Merci !