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

  1. #1
    Candidat au Club
    Homme Profil pro
    BTS SIO SLAM
    Inscrit en
    décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO SLAM
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : décembre 2018
    Messages : 12
    Points : 3
    Points
    3

    Par défaut Pb pour créer et ecrire dans un fichier text avec xamarin sous visual studio 2017

    Bonjour à tous .
    Voila je suis en apprentissage dans une entreprise pour faire un BTS SIO SLAM et mon patron ma demandé de développer une application Android sous visual studio avec xamarin. mais la actuellement ça fait 3 semaine que je suis bloqué. J’essaie désespérément à faire un code qui permet dé que l'on appuis sur un bouton pour enregistrer des valeur dans une zone de saisie. Mon problème est que je n'arrive pas à faire créer et écrire dans un fichier j'ai u beau chercher sur internet ça ne marche pas. voici une partie de mon code que j'essaie de faire. votre aide me sera précieuse de plus c'est un projet que je vais présenter au BTS dans 2ans.
    Cordialement a vous.
    (ma prof de programmation se creuse la tête aussi sur se problème !)

    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
    protected override void OnCreate(Bundle savedInstanceState)
            {
                base.OnCreate(savedInstanceState);
                // Set our view from the "main" layout resource
                SetContentView(Resource.Layout.Param);
     
                //Bouton ok
                Button ok = FindViewById<Button>(Resource.Id.ok);
                //gestion du click
                ok.Click += delegate            
                {
                    EcritureFichier("parametre.txt");
                    EditText editText = FindViewById<EditText>(Resource.Id.saisieIP);               
     
                    var tbun = editText.Text; editText.TextChanged += delegate { };
                    Console.WriteLine(editText);
                    Toast.MakeText(this, "Paramètre pris en compte!!", ToastLength.Short).Show();
                };
     
     
       public void EcritureFichier(string fichier)
            {
                try
                {
                //  string resourcePrefix = ("AFC.");
                    var StreamWriter = new StreamWriter("parametre.txt");
                    {
                        StreamWriter.Write("hello world");
                        StreamWriter.Close();
                        System.Diagnostics.Debug.Write("Write Over");
                    }
           }
                catch (Exception ex)
                {
                    // Code exécuté en cas d'exception 
                    Console.Write(ex.Message);
                }
            }
        }
    }

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Architecte Web / Android
    Inscrit en
    août 2003
    Messages
    5 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte Web / Android
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 5 430
    Points : 14 520
    Points
    14 520

    Par défaut

    J'utilise pas xamarin mais en supposant que le code d'écriture du fichier est correcte , ca peut tout simplement êtr eun problème de permission manquante. I lfaut que l'application demande l'autorisation d'écrire au système si elle écrit en dehors de son espace privé
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Candidat au Club
    Homme Profil pro
    BTS SIO SLAM
    Inscrit en
    décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO SLAM
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : décembre 2018
    Messages : 12
    Points : 3
    Points
    3

    Par défaut

    Bonjour, Déjà un bon début que tu me donne. Mais comment faire ? je vais fouiller sur Google. Mais toute idée est bonne a prendre .

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    juillet 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2009
    Messages : 42
    Points : 52
    Points
    52

    Par défaut

    Bonjour,

    si tu n'as pas d'exception c'est que l'écriture fonctionne bien.
    A mon avis, il est écrit ailleurs.

    Essaye de forcer le path en l'ajoutant au nom de ton fichier.

  5. #5
    Candidat au Club
    Homme Profil pro
    BTS SIO SLAM
    Inscrit en
    décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO SLAM
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : décembre 2018
    Messages : 12
    Points : 3
    Points
    3

    Par défaut

    Bonjour , je n'ai pas déception mais quand je mais en débogage pas a pas il passe dans " var StreamWriter = new StreamWriter("parametre.txt");" mais saute l'écriture. pour le path comment je fait ?

  6. #6
    Candidat au Club
    Homme Profil pro
    BTS SIO SLAM
    Inscrit en
    décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO SLAM
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : décembre 2018
    Messages : 12
    Points : 3
    Points
    3

    Par défaut

    En débogage en regardant la sortie j'ai cela décrit au moment ou j'appuie sur le bouton OK
    "12-07 10:13:05.369 I/mono-stdout( 2970): Access to the path "/parametre.txt" is denied.android.widget.EditText{8ac09c4 VFED..CL. .F...... 555,113-1080,257 #7f0b0070 app:id/saisieIP}
    Access to the path "/AFC\parametre.txt" is denied.android.widget.EditText{8ac09c4 VFED..CL. .F...... 555,113-1080,257 #7f0b0070 app:id/saisieIP}"

  7. #7
    Candidat au Club
    Homme Profil pro
    BTS SIO SLAM
    Inscrit en
    décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO SLAM
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : décembre 2018
    Messages : 12
    Points : 3
    Points
    3

    Par défaut SVP

    Bonjour SVP UP

  8. #8
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Architecte Web / Android
    Inscrit en
    août 2003
    Messages
    5 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte Web / Android
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 5 430
    Points : 14 520
    Points
    14 520

    Par défaut

    Access to the path "/parametre.txt" is denied
    Ca ressemble drôlement à un problème de permission comme je l'évoquais au début.

    A toi de trouver comment demander la permission d'écriture via xamarin (on est dans le forum java je rappel )
    En java c'est un ajout dans le manifest , + du code pour demander la permission à l'utilisateur (et ce depuis android 6, avant c'était implicite ).
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Candidat au Club
    Homme Profil pro
    BTS SIO SLAM
    Inscrit en
    décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO SLAM
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : décembre 2018
    Messages : 12
    Points : 3
    Points
    3

    Par défaut

    Bonjour tout le monde. Alors voila en j'en suis
    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
     public static void  EcritureFichier(string fichier)
                {
     
                try
                    {
     
                    var backingFile = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop), "parametre.txt");
                     using (var writer = File.CreateText(backingFile))
                        {
                        writer.WriteLineAsync(fichier.ToString());
                        Console.WriteLine("test");
                        writer.Close();
                         }
      }
                catch (Exception ex)
                    {
                        // Code exécuté en cas d'exception 
                        Console.Write(ex.Message);
                    }
                }
    et quand j'appuie sur le bouton en sortie du debugage j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    12-20 12:36:37.963 I/mono-stdout( 4733): Could not find a part of the path "/data/user/0/AFC.AFC/files/Desktop/parametre.txt".android.widget.EditText{326f137 VFED..CL. .F...... 555,113-1080,257 #7f0b0070 app:id/saisieIP}
    Could not find a part of the path "/data/user/0/AFC.AFC/files/Desktop/parametre.txt".android.widget.EditText{326f137 VFED..CL. .F...... 555,113-1080,257 #7f0b0070 app:id/saisieIP}
    12-20 12:36:38.458 I/Choreographer( 4733): Skipped 99 frames!  The application may be doing too much work on its main thread.
    12-20 12:36:39.296 D/EGL_emulation( 4733): eglMakeCurrent: 0x88404fe0: ver 3 0 (tinfo 0x881bff90)
    12-20 12:36:39.332 D/EGL_emulation( 4733): eglMakeCurrent: 0x88404fe0: ver 3 0 (tinfo 0x881bff90)
    avez vous une solution ?

  10. #10
    Candidat au Club
    Homme Profil pro
    BTS SIO SLAM
    Inscrit en
    décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO SLAM
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : décembre 2018
    Messages : 12
    Points : 3
    Points
    3

    Par défaut

    Bonjour
    J'ai pourtant bien données les permission dans le Manifest

  11. #11
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Architecte Web / Android
    Inscrit en
    août 2003
    Messages
    5 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte Web / Android
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 5 430
    Points : 14 520
    Points
    14 520

    Par défaut

    Comme précisé dans ma réponse précédente , l'ajout au manifest n'est plus suffisant depuis android 6, il faut demander explicitement la permission via du code à l'utilisateur :

    https://blog.xamarin.com/requesting-...d-marshmallow/
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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