Bonjour,
J'aimerais, au premier lancement de mon application, exécuter un code (créer un id) et l'enregistrer, et ce une seule fois.
Voila le code de l'activité LAUNCHER / MAIN:
Quand je lance l'application une première fois, l'identifiant est bien créé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // -------------------------------------------- // Vérification de l'existence de l'identifiant // -------------------------------------------- File file = getApplicationContext().getFileStreamPath("myapp_install"); // ------------------------- // Création d'un identifiant // ------------------------- if (!file.exists()) { MyNewId = 'XXX'; // -------------------- // Création du fichier // -------------------- try { fos = openFileOutput("myapp_install", Context.MODE_PRIVATE); fos.write(String.valueOf(MyNewId).getBytes()); fos.close(); } catch (IOException e) { Log.e("APP", "Création fichier impossible " + e.toString()); } } else { String line = null; FileInputStream fos = null; StringBuilder idRetour = new StringBuilder(); try { fos = openFileInput("myapp_install"); InputStreamReader inputreader = new InputStreamReader(fos); BufferedReader buffreader = new BufferedReader(inputreader); if ((line = buffreader.readLine()) != null) { idRetour.append(line); MyNewId = Integer.parseInt(String.valueOf(idRetour)); } fos.close(); } catch (Exception e) { Log.e("APP", "Lecture de l'identifiant impossible " + e.toString()); } } }
Mais imaginons que je quitte l'application (mais sans la fermer puisque qu'elle tourne en arrière plan) alors que je suis sur une autre activité, lorsque je reviens dessus, et donc retombe sur la dernière activité, est-ce que le code du main est relancé? Le code du main est-il relancé quand je reviens sur cette activité seulement?
Logiquement oui car c'est dans le OnCreate(), mais j'obtiens quelques soucis de récupération d'id donc je voulais savoir si mon code était "propre".
Merci
Partager