2011-06-26 3 views
0

J'ai développé une application qui a aa fichier XML dans res/dossier xmlSyncing XML local avec XML serveur web dans Android

Les détails qu'il y avait dans le fichier xml était censé être statique, mais nous avons une nouvelle exigence maintenant où le fichier xml doit être mis à jour via un serveur Web

Quelles sont les aboutissants de façon possible

  1. Quelle est la meilleure façon possible de lire un fichier XML à partir d'un serveur Web dans Android? Exemple de code sera utile
  2. Une fois que j'ai lu le XML à partir du serveur Web, puis-je modifier le code XML sur le téléphone?
  3. Existe-t-il d'autres possibilités?

Merci

Répondre

0

Vous devez utiliser le URLConnection pour télécharger:

public void DownloadFromUrl(String imageURL, String fileName) { //this is the downloader method 
     try { 
       URL url = new URL("http://yoursite.com/" + imageURL); //you can write here any link 
       File file = new File(fileName); 

       long startTime = System.currentTimeMillis(); 
       Log.d("ImageManager", "download begining"); 
       Log.d("ImageManager", "download url:" + url); 
       Log.d("ImageManager", "downloaded file name:" + fileName); 
       /* Open a connection to that URL. */ 
       URLConnection ucon = url.openConnection(); 

       /* 
       * Define InputStreams to read from the URLConnection. 
       */ 
       InputStream is = ucon.getInputStream(); 
       BufferedInputStream bis = new BufferedInputStream(is); 

       /* 
       * Read bytes to the Buffer until there is nothing more to read(-1). 
       */ 
       ByteArrayBuffer baf = new ByteArrayBuffer(50); 
       int current = 0; 
       while ((current = bis.read()) != -1) { 
         baf.append((byte) current); 
       } 

       /* Convert the Bytes read to a String. */ 
       FileOutputStream fos = new FileOutputStream(file); 
       fos.write(baf.toByteArray()); 
       fos.close(); 
       Log.d("ImageManager", "download ready in" 
           + ((System.currentTimeMillis() - startTime)/1000) 
           + " sec"); 

     } catch (IOException e) { 
       Log.d("ImageManager", "Error: " + e); 
     } 

} 

http://www.helloandroid.com/tutorials/how-download-fileimage-url-your-device

IBM a une aide à ce sujet, essentiellement le fichier sera enregistré au InputStream , que vous pouvez utiliser à partir de là ou enregistrez-le dans un fichier.

http://www.ibm.com/developerworks/opensource/library/x-android/