Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Android] Ecrire/lecture dans un fichier.

    7 janvier 2011 à 21:50:41

    Bonjour.

    Voila je galere depuis plusieurs jours pour réussir a sauvegarder une arraylist<trajet> dans un fichier.


    Methode de lecture/ecrire :
    public void WriteSettings(Context context, ArrayList<trajet> data){ 
        	
            FileOutputStream fOut = null; 
            ObjectOutputStream osw = null; 
     
            try{ 
               fOut = context.openFileOutput("settings.dat",MODE_APPEND);       
                osw = new ObjectOutputStream(fOut); 
                osw.writeObject(data); 
                osw.flush(); 
              
                Toast.makeText(context, "Sauvegarde ok",Toast.LENGTH_SHORT).show(); 
                } 
                catch (Exception e) {       
                        Toast.makeText(context, "Sauvegarde fail",Toast.LENGTH_SHORT).show(); 
                } 
                finally { 
                   try { 
                          osw.close(); 
                          fOut.close(); 
                          } catch (IOException e) { 
                                   Toast.makeText(context, "Sauvegarde fail",Toast.LENGTH_SHORT).show(); 
                          } 
                } 
           }
        
    
    public Object ReadSettings(Context context){ 
    
            FileInputStream fIn = null; 
            ObjectInputStream isr = null; 
    
            Object data = null; 
     
            try{ 
                fIn = context.openFileInput("settings.dat");       
                isr = new ObjectInputStream(fIn); 
                data = isr.readObject(); 
               
                Toast.makeText(context,"Chargement ok",Toast.LENGTH_SHORT).show(); 
                } 
                catch (Exception e) {       
                          Toast.makeText(context, "Chargement fail",Toast.LENGTH_SHORT).show(); 
                } 
                
                return data; 
           }
    



    Il semble n'avoir aucun bug cependant :

    ArrayList<trajet> test = new ArrayList<trajet>();
    
            Date d = new Date(1990,10,10);
            trajet tra = new trajet(d,"lisfdl","epoiopi",845);
    	test.add(tra);
            
            WriteSettings(getBaseContext(),test);
            test = (ArrayList<trajet>) ReadSettings(getBaseContext());
    


    Me retourne une arraylist vide en m'affichant "sauvegarde ok" et "Chargement ok".
    Je trouve pas l'erreur.

    Merci de votre aide.
    • Partager sur Facebook
    • Partager sur Twitter
      20 janvier 2011 à 21:28:54

      D'après moi ça doit venir de la sérialisation...

      Est-ce que ta classe Trajet implémente l'interface "Serializable"?
      Tu dois faire ça pour que tes instances puissent être sauvegardées ^^

      Si c'est pas ça je peux pas t'aider, je débute en programmation java et encore plus sous Android x)
      • Partager sur Facebook
      • Partager sur Twitter

      [Android] Ecrire/lecture dans un fichier.

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown