2013-05-16 86 views
2

我的應用程序出現了一些問題,我使用.txt文件獲取正確的URL來顯示應用程序應顯示的圖片。一切正常。但是,如果我更改遠程.txt文件的內容,應用程序會不斷重新加載相同的圖片。這裏是從遠程獲取Pics的代碼。遠程內容不刷新

private ArrayList<String> getPictures(){ 
    fileList.clear(); 
    try { 
     URL url = new URL("http://server.com/test.txt"); 
     BufferedReader in = new BufferedReader(new InputStreamReader(
       url.openStream())); 
     String str; 
     while ((str = in.readLine()) != null) { 
      fileList.add(str); 
     } 
     in.close(); 
    } catch (MalformedURLException te) { 
     finish(); 
    } catch (IOException tt) { 
     finish(); 
    } 
    return fileList; 
} 

所以我沒有線索,爲什麼它爲我清除每個時間的方法被稱爲ArrayList中沒有得到新的內容!

我希望有人有這個問題的解決方案,這是相當厭煩。

/編輯:忘了發佈包含適配器的方法,所以在這裏它是:

private String getAnImageUrl() { 
    getPictures(); 
    ArrayAdapter<String> arrAdapt = new ArrayAdapter<String>(this, R.layout.main, fileList); 
    arrAdapt.setNotifyOnChange(true); 
    i++; 
    if (i >= arrAdapt.getCount()) { 
     i = 0; 
    } 
    return test = arrAdapt.getItem(i).toString(); 
} 
+0

我認爲.txt文件以某種方式被Android操作系統緩存。因爲我殺死了服務器上的.txt文件並再次運行應用程序,它仍然顯示.txt文件中的圖像?!?!?!這很混亂。任何想法的人? – ZeroGS

回答

1

呀,我經歷了這個與自己的應用程序下載一些JSON。要解決這個問題,最簡單的方法是將隨機參數添加到您的URL請求,像這樣:

String urlString = "http://server.com/test.txt?" + System.currentTimeMillis(); 
URL url = new URL(urlString); 

這將當前系統時間添加到您的網址作爲參數,這將繞過

網頁的任何緩存版本
+1

謝謝你,這就是魔術!大!! – ZeroGS