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 :

Laisser un FileWriter ouvert


Sujet :

Android

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Points : 45
    Points
    45
    Par défaut Laisser un FileWriter ouvert
    Bonjour,

    Je débute et j'ai un problème avec un FileWriter.

    J'ai un NullPointerException sur la dernière ligne de ma méthode "onCreate".
    Je pense que ça vient du fait que mon FileWriter est instancié dans ma procédure "filecreate" et n'est pas disponible dans ma méthode "onCreate" mais je ne sais pas comment remédier à cela.

    Quelqu'un saurait-il m'expliquer comment procéder ?
    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
    public class MonActivity extends Activity {
     
    Writer filewriter;
    File kml;
     
    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            createfile();
    filewriter.append("suite");          
           filewriter.close();
    }
     
    public void createfile()
        {
     
            Date d = new Date();
            SimpleDateFormat f = new SimpleDateFormat("yyyyMMddHHmm");
            String nomfichier = f.format(d);
            File kml = new File("/sdcard/", nomfichier + ".kml");
     
            try {            
                FileWriter filewriter = new FileWriter(kml,false);            
                filewriter.append("debut");
            } catch (IOException e) {
                Toast.makeText( getApplicationContext(),e.getMessage(),Toast.LENGTH_SHORT ).show();  
            }
        }
    }
    Merci d'avance pour votre aide.

  2. #2
    Membre habitué Avatar de eric-m
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2011
    Messages : 62
    Points : 145
    Points
    145
    Par défaut
    Ta variable filewriter est local à la procédure createfile
    remplace ton code par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    try {			
                filewriter = new FileWriter(kml,false);            
                filewriter.append("debut");
    et là l'instanciation se fera bien sur la variable de classe filewriter.

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par eric-m Voir le message
    Ta variable filewriter est local à la procédure createfile
    remplace ton code par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    try {            
                filewriter = new FileWriter(kml,false);            
                filewriter.append("debut");
    et là l'instanciation se fera bien sur la variable de classe filewriter.
    Merci de ta réponse mais je ne comprends très bien la différence avec mon code ?

  4. #4
    Membre habitué Avatar de eric-m
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2011
    Messages : 62
    Points : 145
    Points
    145
    Par défaut
    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
    public class MonActivity extends Activity {
     
    FileWriter filewriter; globale a la classe
    File kml;
     
    public void onCreate(Bundle savedInstanceState) {
           
    filewriter.append("suite");       globale   
           filewriter.close();
    }//OnCreate
     
    public void createfile()
        {
     ...
            try {            
                FileWriter filewriter = new FileWriter(kml,false);   ici locale vu seulement dans la méthode         
                filewriter.append("debut");
    ....
        }//createfile
    }//class MongpsloggerActivity
    filewriter est different de filewriter

    Donc dans create si tu fais filewriter = new FileWriter(kml,false);
    tu instancies filewriter et non pas une nouvelle variable déclaré en locale.

    Je ne sais pas si je suis clair, en tout cas dis moi si ca résout ton problème/

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Points : 45
    Points
    45
    Par défaut
    Problème résolu !
    Merci beaucoup.

    Mon problème était que lorsque j'instanciais, je créais un nouvel objet à portée locale.

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

Discussions similaires

  1. yad et variable - laisser une fenêtre ouverte
    Par boukli dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 24/07/2012, 14h19
  2. [Lazarus] Laisser l'interface ouverte après l'exécution
    Par toni77 dans le forum Lazarus
    Réponses: 1
    Dernier message: 11/09/2010, 21h03
  3. laisser un div ouvert pendant la naviguation
    Par zadlaure dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/06/2007, 15h36
  4. Laisser un shell ouvert
    Par Tatoine dans le forum Access
    Réponses: 2
    Dernier message: 04/07/2006, 17h52
  5. [vb.net][connection] laisser la connection ouverte
    Par graphicsxp dans le forum Windows Forms
    Réponses: 12
    Dernier message: 19/10/2005, 20h14

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