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