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 :

Ecrire dans un fichier txt ressources


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 43
    Par défaut Ecrire dans un fichier txt ressources
    Bonjour,

    Je demande votre aide car je suis en train de réaliser une appli sur android : un genre d'action ou vérité et j'aurai besoin que les utilisateurs puissent ajouter leurs propres défis à la liste de base.

    J'ai pour l'instant un fichier dans res/raw sur lequel je peux piocher et afficher les défis, mais je n'ai pas la moindre idée de comment ajouter des lignes a ce fichier texte. Comment faire pour permettre a l'utilisateur de modifier ce fichier et d'y écrire ses défis ?

    Merci bcp

  2. #2
    bm
    bm est déconnecté
    Membre extrêmement actif

    Homme Profil pro
    Freelance
    Inscrit en
    Octobre 2002
    Messages
    874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2002
    Messages : 874
    Billets dans le blog
    6

  3. #3
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Tout ce qui se trouve dans res/ ne peut pas être modifié par la suite.
    Lorsqu'il s'agit de gérer des données dynamiques (en ajouter, en détruire, ...), plusieurs techniques s'offrent à toi, récapitulées dans la section "Persistance" du cours.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 43
    Par défaut
    J'ai essayé de faire comme indiqué ici http://huuah.com/android-writing-and-reading-files/ dans ton lien bm, mais j'ai l'impression que ca ne garde pas en mémoire ce que j'écrit dans le fichier, ou en tout cas je n'arrive pas à le faire :/
    J'ai aussi essayer ces méthodes mais l'application crashe car je ne sais pas quoi mettre en parametre pour File dir. http://webauditeur.cnam-paysdelaloir...e-FICHIERS.pdf

    Hephaistos, j'ai lu le cours et je pense que ce qu'il me faut, ce sont les fichiers plats. Mais, encore une fois, a chaque fois que j'essaie de créer une méthode qui sappuie sur ce tuto, ca ne marche pas.

  5. #5
    bm
    bm est déconnecté
    Membre extrêmement actif

    Homme Profil pro
    Freelance
    Inscrit en
    Octobre 2002
    Messages
    874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2002
    Messages : 874
    Billets dans le blog
    6
    Par défaut
    http://huuah.com/android-writing-and-reading-files/

    Ce genre de tuto ne donne pas le détail .
    Voilà ce que j'ai et qui va bien :

    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
    49
    50
    51
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.EditText;
    import android.widget.Toast;
     
    public class MainActivity extends Activity {
    	private EditText et;
    	private String data;
    	private String file = "mydata";
     
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		et = (EditText)(findViewById(R.id.editText1));
    	}
     
    	public void save(View view){
    		data = et.getText().toString();
    		try {
    			@SuppressWarnings("deprecation")
    			FileOutputStream fOut = openFileOutput(file,MODE_WORLD_READABLE);
    			fOut.write(data.getBytes());
    			fOut.close();
    			Toast.makeText(getBaseContext(),"Stockage fichier",
    			Toast.LENGTH_SHORT).show();
    		} catch (Exception e) {
    		// TODO Auto-generated catch block
    		e.printStackTrace();
    		}
    	}
    	public void read(View view){
    		try{
    			FileInputStream fin = openFileInput(file);
    			int c;
    			String temp="";
    			while( (c = fin.read()) != -1){
    				temp = temp + Character.toString((char)c);
    			}
    			et.setText(temp);
    			Toast.makeText(getBaseContext(),"Lecture fichier",
    			Toast.LENGTH_SHORT).show();
     
    		}catch(Exception e){
     
    		}
    	}
    }

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 43
    Par défaut
    Merci, je l'ai un peu adapté à mon problème et cela ne marche pas trop mal. Le seul probleme c'est que lorsque je fais read(); il n'affiche que la derniere phrase que j'ai écrite dans le fichier.
    Il me semble qu'a chaque fois que j'écrit save(); cela efface le contenu du fichier pour mettre le nouveau texte.

    Bon, je peux tres bien sauvegarder le contenu du fichier dans un String, et simplement rajouter la phrase que je veux écrire au fichier à la fin de ce String et sauvegarder l'ensemble, mais il y a sans doute une maniere plus belle, non ? ( et plus efficace dans la mesure ou je voudrais environ 200 lignes dans ce fichier)
    Voila le code correspondant :

    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
     
     
        public void save(String texte) {
     
                  String texte_a_garder = read()+"\n"+texte;
            try {
                FileOutputStream fOut = openFileOutput("basededefi", MODE_PRIVATE );
                fOut.(texte_a_garder.getBytes());
                fOut.close();
                Toast.makeText(getBaseContext(), "Stockage fichier",
                        Toast.LENGTH_SHORT).show();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        public void read(){
            try{
                FileInputStream fin = openFileInput("basededefi");
                int c;
                String temp="";
                while( (c = fin.read()) != -1){
                    temp = temp + Character.toString((char)c);
                }
                Log.d("message", temp);
                Toast.makeText(getBaseContext(),"Lecture fichier",
                        Toast.LENGTH_SHORT).show();
     
            }catch(Exception e){
     
            }
        }
    Et derniere chose, comment puis-je acceder au fichier manuellement afin d'y écrire a la main ce que je voudrais qu'il y ait au debut ?

    Merci de ton aide

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

Discussions similaires

  1. comment ecrire dans un fichier txt avec WriteFile?
    Par Art19 dans le forum Langage
    Réponses: 13
    Dernier message: 04/07/2007, 15h50
  2. Ecrire dans un fichier txt en 4gl
    Par patriceguic dans le forum Informix
    Réponses: 2
    Dernier message: 07/05/2007, 20h44
  3. Ecrire dans un fichier .txt
    Par chabRRR dans le forum Langage
    Réponses: 3
    Dernier message: 13/03/2007, 19h30
  4. Ecrire dans un fichier .txt
    Par yinyann86 dans le forum Pascal
    Réponses: 17
    Dernier message: 24/11/2006, 13h36
  5. Ecrire dans un fichier txt sans en effacer le contenu
    Par cari dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 14/12/2005, 18h11

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