IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Fonctionnement du démarrage d'application


Sujet :

Android

  1. #1
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut Fonctionnement du démarrage d'application
    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:

    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());
    		}
     
            }
     
        }
    Quand je lance l'application une première fois, l'identifiant est bien créé.
    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

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Dans la situation que tu énonce, le onCreate ne sera pas rappelé, c'est normalement le onResume qui devrait l'être.
    Par contre, le onCreate sera rappelé à chaque fois que ton Activity a été totalement détruite et doit être recréée.

    Sinon, je te conseil d'utiliser plutôt les SharedPreferences pour ce type de chose. J'ai l'impression que ça répondra parfaitement à ton besoin.
    Doc : http://developer.android.com/referen...eferences.html

    EDIT : cycle de vie d'une activité : http://developer.android.com/referen.../Activity.html
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Merci, je vais me renseigner

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.0 SP2] Crash au démarrage : Faulting application
    Par mister3957 dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 19/02/2010, 20h11
  2. Réponses: 2
    Dernier message: 11/08/2008, 17h24
  3. Démarrage d'application installée comme service
    Par WELCOMSMAIL dans le forum C++
    Réponses: 1
    Dernier message: 20/09/2007, 17h20
  4. Démarrage Oracle & application basé sur listner
    Par titexe dans le forum Oracle
    Réponses: 2
    Dernier message: 27/11/2006, 14h37
  5. Websphere 5 + démarrage d'application
    Par bob33 dans le forum Websphere
    Réponses: 8
    Dernier message: 27/12/2005, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo