В настоящее время я использую этот код, чтобы получить данные с сервераHttpURLConnection держать кэш
public static String getResponse(String URL) throws IOException{
try{
String response_string;
StringBuilder response = new StringBuilder();
URL url = new URL(URL);
HttpURLConnection httpconn = (HttpURLConnection) url.openConnection();
if (httpconn.getResponseCode() == HttpURLConnection.HTTP_OK){
BufferedReader input = new BufferedReader(new InputStreamReader(httpconn.getInputStream()));
String strLine = null;
while ((strLine = input.readLine()) != null){
response.append(strLine);
}
input.close();
response_string = response.toString();
}
httpconn.disconnect();
return response_string;
}
catch(Exception e){
throw new IOException();
}
}
Но, похоже, он держит кэш, может быть, не я не уверен, но если я изменить данные на сервере и повторно открыть активность, она по-прежнему остается неизменной при применении. Я использовал HttpClient
, перед которым работала хорошо, но поскольку она устарела с API 22
, я изменил ее на HttpURLConnection
. Так можно ли это исправить?
does '' context.getCacheDir() '' есть что-нибудь в нем? – StephenG
Нет, я никогда не использовал это. – Enve
Под «повторным открытием» вы имеете в виду переход к работающим приложениям и повторное открытие оттуда или вы хотите закрыть приложение и снова открыть? – George