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 :

Lecture d'un fichier XML en local


Sujet :

Android

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2010
    Messages : 7
    Par défaut Lecture d'un fichier XML en local
    Bonjour,

    J'ai un problème lorsque j'essaie d'ouvrir un fichier XML en local. Lorsque j'exécute le code suivant :

    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
     
                    public static SetActions extract() {
    		// On passe par une classe factory pour obtenir une instance de sax
    		SAXParserFactory saxfactory = SAXParserFactory.newInstance();
    		SAXParser saxParser = null;
    		SetActions actions = null;
    		URL url = null;
    		DefaultHandler handler = null;
     
    		try {
    		    // On "fabrique" une instance de SAXParser
    		    saxParser = saxfactory.newSAXParser();
    		} catch (ParserConfigurationException e) {
    		    e.printStackTrace();
    		} catch (SAXException e) {
    		    e.printStackTrace();
    		}
    		// On défini l'url du fichier XML
    		try {			
    			url = new URL("file:///android_asset/actions.xml");			
    		} catch (MalformedURLException e1) {
    		    e1.printStackTrace();
    		}
     
    		//Le handler sera gestionnaire du fichier XML c'est à dire que c'est lui qui sera chargé
    		// des opérations de parsing. On vera cette classe en détails ci après.
    		handler = new ActionsXMLHandler();
     
    		try {
    		    // On parse le fichier XML
    			InputStream input = url.openStream();
     
    			if(input==null) {
    			    Log.e("erreur android","null");
    			}
    			else {
    			    saxParser.parse(input, handler);
    			    // On récupère directement la liste des feeds
    			    actions = ((ActionsXMLHandler) handler).getData();
    			}
    		} catch (SAXException e) {
    		    e.printStackTrace();
    		} catch (IOException e) {
    		    e.printStackTrace();
    		}
    		// On la retourne l'array list
    		return actions;
    	}
    Une exception de type IOException est lancée. Je pense que cela provient du fait que le fichier action.xml n'est pas trouvé pourtant il se trouve bien dans mon projet eclipse :




    D'ailleurs je présume que j'ai le même soucis lorsque j'essaie d'ouvrir un fichier audio avec la classe MediaPlayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
               MediaPlayer mp = new MediaPlayer();
     
    	    try {
    	    	URL url = new URL("android.resource://mon.package/"+R.raw.boom);
    	    	mp.setDataSource(url.toString());	
    			//mp.setDataSource("file:///android_asset/boom.mp3");
    		} catch (IllegalArgumentException e) {
    			e.printStackTrace();
    		} catch (IllegalStateException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    Est-ce que certaines personnes ont rencontrées le même problème ?

    Merci d'avance,

    Benjamin

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 7
    Par défaut
    Bonjour,

    essai de passer par la méthode getAssets().open( ... ) de la classe Context.

    a+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 182
    Par défaut
    Utilise la classe xmlPullParser qui est spécifiquement adpaté à Android.

    Le fichier doit etre dans le répertoire res->xml


Discussions similaires

  1. Problème de lecture d'un fichier XML d'InfoPath
    Par snadus dans le forum InfoPath
    Réponses: 7
    Dernier message: 06/06/2006, 14h45
  2. Lecture d'un fichier XML de config avec Java
    Par cofy dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 31/01/2006, 15h54
  3. Problème de lecture dans un fichier xml
    Par Pyra dans le forum Langage
    Réponses: 2
    Dernier message: 18/12/2005, 00h13
  4. Probleme de lecture d'un fichier XML
    Par chleuh dans le forum Langage
    Réponses: 8
    Dernier message: 30/08/2005, 12h04
  5. [C#] [XML] Lecture d'un fichier XML => Combobox
    Par Chad`Chiwa dans le forum Windows Forms
    Réponses: 8
    Dernier message: 09/03/2005, 08h57

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