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 :

Lire un fichier txt ..


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 61
    Par défaut Lire un fichier txt ..
    Bonjour,

    J'ai réussi à créer un fichier texte où est stocké le mot de passe de l'utilisateur. J'aimerais lorsque l'utilisateur saisit le mot de passe, mon application lit le mot de passe dans le fichier. J'ai hélas essayé ce code mais ça ne marche pas...

    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
    EditText passw = (EditText)findViewById(R.id.editText);
                    String passwf = passw.getText().toString();
     
                    FileInputStream fIn = null;
                    InputStreamReader isr = null;
     
                    char[] inputBuffer = new char[255];
     
                    try{
                        fIn = MainActivity.this.openFileInput("mdpsecurity.txt");
                        isr = new InputStreamReader(fIn);
                        isr.read(inputBuffer);
                        strLine = new String(inputBuffer);
                        //affiche le contenu de mon fichier dans un popup surgissant
                        Toast.makeText(MainActivity.this, " "+strLine,Toast.LENGTH_SHORT).show();
                    }
                    catch (Exception e) {
                        Toast.makeText(MainActivity.this, "Settings not read",Toast.LENGTH_SHORT).show();
                    }
     
     
                    if( passwf.equals(strLine) || passwf.equals("0000"))
                    {
                        Intent intent = new Intent(MainActivity.this, Main2Activity.class);
                        startActivity(intent);
                    }
                    else
                    { Toast.makeText(MainActivity.this, R.string.erreur,Toast.LENGTH_LONG).show();
     
                    }

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 34
    Par défaut
    Y a t-il une raison particulière pour laquelle tu ne passes pas par les SharedPreferences d'Android ?

    As-tu fait un tour du côté des options de stockage de la doc d'Android ? Storage Options

    Je te suggère de plus de ne pas stocker le mot de passe en clair dans ton application : Android Keystore System

  3. #3
    Membre chevronné Avatar de Drowan
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2014
    Messages
    460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2014
    Messages : 460
    Par défaut


    Utilises-tu bien ce qui est recommandé par la doc android ?

    Quelle erreur as-tu ? Que se passe-t-il ou ne se passe pas ?

    Dernier point qui n'a rien à voir, lorsque tu récupères une exception, garde bien la ligne e.printstacktrace() qui te permettra de voir dans le log le détail des exceptions.

  4. #4
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 61
    Par défaut
    Merci pour toutes ces réponses ! J'ai deja essayé les shared preference et sqlite, mais je suis débutant et je n'y arrive pas... Oui je pensais crypter par la suite, mais je cherche déja quelque chose de fonctionnel ! Je vais essayer de rajouter la ligne print et je reviens

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 34
    Par défaut
    Pour stocker une valeur dans les SharedPreferences :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SharedPreferences sharedPreferences = context.getSharedPreferences("appSharedPreferences", Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putString("userPassword", variableAvecLeMotDePasse);
    editor.commit();
    Pour récupérer la valeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SharedPreferences sharedPreferences = context.getSharedPreferences("appSharedPreferences", Context.MODE_PRIVATE);
    userPassword = sharedPreferences.getString("userPassword", null);
    if(userPassword == null){
        // Aucun mot de passe n'a été défini
    }
    else{
        // Le mot de passe a été défini. Sa valeur est stockée dans userPassword
    }
    Dis-nous ce qu'il en est.

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 61
    Par défaut
    Alors là un GRAND MERCI, @Gafhy !!! Ça fonctionne. Bien sûr, j'ai rajouté du code , mais merci !!!! J'aimerais être talentueux, vite Voila le code
    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
    EditText passw = (EditText)findViewById(R.id.editText);
                    String passwf = passw.getText().toString();
     
                    SharedPreferences sharedPreferences = MainActivity.this.getSharedPreferences("appSharedPreferences", Context.MODE_PRIVATE);
                    String userPassword = sharedPreferences.getString("userPassword", null);
                    if(userPassword == null){
     
                        if( passwf.equals("0000"))
                        {
                            Intent intent = new Intent(MainActivity.this, Main2Activity.class);
                            startActivity(intent);
                        }
                        else
                        { Toast.makeText(MainActivity.this, R.string.erreur,Toast.LENGTH_LONG).show();
     
                        }
     
                        // Aucun mot de passe n'a été défini
                    }
                    else{
     
                        if( passwf.equals(userPassword))
                        {
                            Intent intent = new Intent(MainActivity.this, Main2Activity.class);
                            startActivity(intent);
                        }
                        else
                        { Toast.makeText(MainActivity.this, R.string.erreur,Toast.LENGTH_LONG).show();
     
                        }
     
                        // Le mot de passe a été défini. Sa valeur est stockée dans userPassword
                    }

  7. #7
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 34
    Par défaut
    Est-ce que tu as encore une demande ou bien c'est résolu ?

Discussions similaires

  1. [Débutant] Lire plusieurs fichiers txt dans un répertoire
    Par leneuf dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 03/10/2006, 12h39
  2. [JAR] Lire un fichier txt dans un Jar
    Par flzox dans le forum Entrée/Sortie
    Réponses: 13
    Dernier message: 28/08/2006, 01h30
  3. Lire un fichier .TXT en donnant une URL
    Par Matt2094 dans le forum Langage
    Réponses: 9
    Dernier message: 03/05/2006, 14h35
  4. Lire un fichier txt par http (C sous Linux)
    Par sleg dans le forum Réseau
    Réponses: 4
    Dernier message: 18/10/2005, 11h07
  5. Réponses: 4
    Dernier message: 05/10/2004, 17h11

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