2014-01-06 3 views
0

Ниже приведен метод, который я использовал для чтения ответа от сервера путем передачи URL-адреса, который извлекал объект json.Android: Http получает выбор из старого ответа

Существует очень странная проблема, которая по-прежнему стареет, но данные уже были обновлены.

Я попытался найти решение, но все равно не получилось.

Ссылка типа: http://www.mywebsite.com/svc/user_auth/user_id

В случае, когда идентификатор пользователя представляет собой уникальное целое число, идентификатор пользователя, который передается в качестве параметра.

public static String getResponse(String url){ 
      String downloadedData = null; 
      Log.e("getResponse", url); 
      try { 
       URL downloadURL = new URL(url); 
       InputStream inputStream = (InputStream) downloadURL.getContent(); 
       if (null != inputStream) { 
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); 
        byte[] buffer = new byte[512]; 
        int readCounter = inputStream.read(buffer); 
        while (readCounter != -1) { 
         byteArrayOutputStream.write(buffer, 0, readCounter); 
         readCounter = inputStream.read(buffer); 
        } 
        downloadedData = new String(
          byteArrayOutputStream.toByteArray()); 
        /*if (null != downloadedData && !"".equals(downloadedData)) { 
         downloadedJson = new JSONObject(downloadedData); 
        }*/ 
       }else{ 
        Log.e("getResponse", "Response is null"); 
       } 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
      return downloadedData; 
     } 

Любая помощь будет оценена по достоинству.

ответ

0

Не знаю, как URL.getContent() реализован внутренне. Вы можете попробовать использовать URLConnection, он позволяет вам контролировать использование кеша setUseCaches().

0

Вы пытались открыть URL-адрес своего браузера, чтобы увидеть ответ JSON? Если вы видите старое значение в браузере, проблема возникает на вашей стороне сервера.

Если это не так, попробуйте использовать DefaultHttpClient на пост и получить запросы, как: (возможно, некоторые кэширование происходит с помощью метода, который вы используете, это не так точно с HttpClient)

DefaultHttpClient httpclient = getHttpClient(); 

    HttpPost httpost = new HttpPost(url); 

    httpost.setEntity(entity); //entity has your params wrapped if you have any...this is just an example for POST request, but for your case you can use GET with URL params.. 

    httpclient.execute(httpost); 
Смежные вопросы