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 :

Peut-on modifier les droits d'accès des fichiers assets ?


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2011
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 51
    Par défaut Peut-on modifier les droits d'accès des fichiers assets ?
    Salut !

    (Je code en C# sous monodevelop 2.6 beta2)

    En fait je voudrais charger un fichier xml (placé dans le dossier Assets) de type XmlDocument. Je passe donc par un StreamReader, et je voudrais sauvegarder ce fichier donc j'instancie un StreamWriter avec le meme objet Stream que pour le StreamReader...mais le StreamWriter ne veut pas se créer car il n'a apparement pas les droits d'acces en ecriture.

    Voici 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
     
    try{
         Stream file = Assets.Open("app.config");
         StreamReader strd = new StreamReader(file);
         StreamWriter stwt = new StreamWriter(file);
     
         XmlDocument dom = new XmlDocument();
         dom.Load(strd); //Chargement du fichier
     
         //Traitement...
     
         dom.Save(stwt);
    }catch(Exception e){
         tv.Text = "'Message d'erreur : "+e.Message; 
    }
    J'ai donc attrapé le message d'erreur : "Can not write to stream".

    Je voudrais donc savoir si il est possible de modifier les droit d'acces des fichiers assets.

    Merci d'avance

  2. #2
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 243
    Par défaut
    On ne peut pas écrire dans le dossier assets.

  3. #3
    Membre averti
    Inscrit en
    Mai 2011
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 51
    Par défaut
    Et il n'y a pas un moyen d'obtenir un objet XmlDocument à partir des ressources par exemple ?

  4. #4
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 243
    Par défaut
    Je suppose que oui, mais n'ai pas essayé le C# sous Android.
    Mais sous Java on peut facilement parser des XML à l'intérieur des ressources grâce à DOM ou SAX.

  5. #5
    Membre averti
    Inscrit en
    Mai 2011
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 51
    Par défaut
    et est ce qu'on peut ecrire sur les fichiers XML des ressources ? sont ils aussi proteger en écriture ?

    parce que moi j'ai réussi à créer un répertoire raw dans les ressources et y inserer mon fichier xml. Je peux le lire mais toujours pas sauvegarder dessus.

    Par contre, avec monodevelop en C#, je n'ai pas la méthode getXML()...j'ai cru voir quelque part que c'est la méthode quo permet d'accéder au répertoire xml des ressources.

  6. #6
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Tu as toutes la doc sur le sujet :
    http://developer.android.com/guide/t...resources.html

    Access to Original Files

    While uncommon, you might need access your original files and directories. If you do, then saving your files in res/ won't work for you, because the only way to read a resource from res/ is with the resource ID. Instead, you can save your resources in the assets/ directory.

    Files saved in the assets/ directory are not given a resource ID, so you can't reference them through the R class or from XML resources. Instead, you can query files in the assets/ directory like a normal file system and read raw data using AssetManager.

    However, if all you require is the ability to read raw data (such as a video or audio file), then save the file in the res/raw/ directory and read a stream of bytes using openRawResource().
    Edit : Donc tu ne peux que lire les données xml présent dans ton package , tu ne peux ni écrire ni modifier dans ces ressources. pour cela tu peux soit passer via un Service Web ou via la SDCard de ton smartphone

Discussions similaires

  1. gérer les droits d'accès des utilisateurs à mon site
    Par sajodia dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 25/03/2009, 15h55
  2. Modifier les droits d'accès
    Par Thulkash dans le forum VBScript
    Réponses: 0
    Dernier message: 31/07/2007, 14h35
  3. Réponses: 1
    Dernier message: 16/07/2007, 10h13
  4. Réponses: 6
    Dernier message: 21/04/2007, 20h08
  5. [APACHE] Modifié les droits d'accès à un dossier.
    Par will-scs dans le forum Apache
    Réponses: 1
    Dernier message: 26/08/2005, 22h12

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