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 :

Accéder à un fichier


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mars 2009
    Messages : 135
    Par défaut Accéder à un fichier
    Bonjour
    j'ai inséré dans fichier des données
    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
     
    File ls = this.getFilesDir();
    					Log.i("","Local Storage : "+ls.getAbsolutePath());
    					File cd = this.getDir("demo", Context.MODE_WORLD_READABLE|Context.MODE_WORLD_WRITEABLE);
    					String FILENAME = "ezpublish_file";
    					 //FileOutputStream fos = null;
    					 try {
    					     FileOutputStream   fos = this.openFileOutput("mobi.txt", Context.MODE_WORLD_READABLE|Context.MODE_WORLD_WRITEABLE);
    					    			DataOutputStream dos = new DataOutputStream(fos) ;  
    					        dos.write(str.getBytes());
     
    					        fos.close();
    					    } catch (IOException e) {
    					        // TODO Auto-generated catch block
    					        e.printStackTrace();
    					    }
    j'ai mit dans le fichier des informations de type plist
    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
     
    <array>
    	<dict>
    		<key>gameid</key>
    		<string>1</string>
    		<key>drawid</key>
    		<string>5544</string>
    		<key>dname</key>
    		<string>9623</string>
    		<key>date</key>
    		<string>9999-01-01 00:00:00</string>
    		<key>prize</key>
    		<string>1490000.00</string>
    		<key>sels</key>
    		<string></string>
    	</dict>
    je veux accéder au ficher pour parser ces données
    merci

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2010
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 385
    Par défaut
    Bonjour ,

    Tu veux faire un parser XML en bref ?

    Voici quelques liens pour t'aider ,

    http://android.developpez.com/telech...g-XML-avec-SAX

    http://cynober.developpez.com/tutoriel/java/xml/jdom/

    Cordialement ,

  3. #3
    Membre très actif
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mars 2009
    Messages : 135
    Par défaut
    non , je sais comment parser mais ce type de parse necessite un fichier xml
    mais mon cas le fichier est external storage !

  4. #4
    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
    non , je sais comment parser mais ce type de parse necessite un fichier xml, mais mon cas le fichier est external storage !
    Euh si ton fichier est un fichier xml,a lors qu'il soit sur la sdcard ou bien dans les ressources ne change rien au problème du parser !!

    C'est juste au niveau de la récupération de l'inputStream que ton code ne sera pas le même.

  5. #5
    Membre très actif
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mars 2009
    Messages : 135
    Par défaut
    voila mon 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
    34
     
    InputStream is = entity.getContent();
    					byte buffer[] = new byte[1024];
    					int bytes = is.read(buffer, 0, 1024);
    					String str = new String(buffer, 0, 0, bytes);
    					//Log.i("valeur", str);
    					StringBuffer sb = new StringBuffer();
    					BufferedReader br=null;
    					try {
    						 br = new BufferedReader(new InputStreamReader(is)); 
    						String temp;
    						while ((temp = br.readLine()) != null)
    							sb.append(temp);
    					} catch (IOException e) {
    						e.printStackTrace();
    					} finally {
    						try {
    							br.close(); // stop reading
    						} catch (IOException ex) {
    							ex.printStackTrace();
    						}
    					}
    					String xml = sb.toString();
    					ParsePlist pp = new ParsePlist();
    					ArrayList<DataModel> plist1 = pp.parsePlist(xml);
    					Iterator<DataModel> i = plist1.iterator();
    					while(i.hasNext()){
    						DataModel d = i.next();
     
    						Log.i("Plist","=========================");
    						Log.i("Plist","Message " + d.getMessage());
     
    					//	is.close();
    					}
    voila ce qu'il m'affiche le logcat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    08-05 12:41:24.994: INFO/ActivityManager(59): Displayed activity com.mobInfo/.Main: 1037 ms (total 1037 ms)
    08-05 12:41:30.194: DEBUG/dalvikvm(116): GC_EXPLICIT freed 834 objects / 45672 bytes in 128ms
    08-05 12:41:35.184: DEBUG/dalvikvm(219): GC_EXPLICIT freed 216 objects / 14368 bytes in 119ms
    08-05 12:41:36.024: DEBUG/dalvikvm(311): GC_FOR_MALLOC freed 3127 objects / 184000 bytes in 67ms
    08-05 12:41:36.044: INFO/global(311): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
    08-05 12:41:36.073: INFO/System.out(311): Wrong XML file structure: element stack empty (position:END_TAG </integer>@1:19 in java.io.StringReader@44efa938)

  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,

    08-05 12:41:36.073: INFO/System.out(311): Wrong XML file structure: element stack empty (position:END_TAG </integer>@1:19 in java.io.StringReader@44efa938)
    Ben c'est simple, ton fichier n'a pas une bonne structure, regardes ce que tu récupères dans ta variable xml.

    Après juste par curiosité sur quoi est basé ta classe ParsePlist ? SAX,DOM,...

    Normalement on peut directement parser un InputStream ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [http] Accéder à un fichier généré par un serveur
    Par Seiya dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 27/02/2007, 18h10
  2. [FTP] ftp, accéder aux fichiers
    Par dams78 dans le forum Langage
    Réponses: 9
    Dernier message: 28/03/2006, 14h02
  3. [Strategie] Accéder à des fichiers sur un serveur
    Par elan dans le forum Général Java
    Réponses: 4
    Dernier message: 28/09/2005, 18h30
  4. accéder à des fichiers mysql
    Par totolala dans le forum Bases de données
    Réponses: 4
    Dernier message: 29/08/2005, 21h51
  5. [JAR] Accéder à un fichier dans un jar
    Par Nanoua dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 06/07/2004, 13h00

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