远程内容不刷新

时间:2013-05-16 10:27:28

标签: android arraylist android-image

我的应用程序有点问题,我使用.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!

我希望有人能解决这个问题,这很烦人。

/ edit:忘了发布包含适配器的方法,所以这里是:

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();
}

1 个答案:

答案 0 :(得分:1)

是的,我通过自己的应用程序下载了一些JSON来体验这一点。最简单的解决方法是在URL请求中添加一个随机参数,如下所示:

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

这会将当前系统时间作为参数添加到您的网址,这将绕过网页的任何缓存版本