¿Cómo medir el tiempo de solicitud y respuesta del servidor?
Estoy utilizando asynctask y json parsing para obtener la respuesta del servidor, ¿Cómo puedo medir la solicitud y el tiempo de respuesta, a continuación es el código de mi servicio web, puede cualquier ayudarme con esto? ………… …
public class JSONParser { static InputStream is = null; static JSONObject jObj = null; static String json = ""; // constructor public JSONParser() { } // function get json from url // by making HTTP POST or GET method public JSONObject makeHttpRequest(String url, String method, List<NameValuePair> params) { // Making HTTP request try { // check for request method if(method.equals("POST")){ DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(url); httpPost.setEntity(new UrlEncodedFormEntity(params)); long startTime = System.currentTimeMillis(); HttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); long elapsedTime = System.currentTimeMillis() - startTime; System.out.println("Total elapsed http request/response time in milliseconds: " + elapsedTime); } else if(method.equals("GET")) { //request method is GET DefaultHttpClient httpClient = new DefaultHttpClient(); String paramString = URLEncodedUtils.format(params, "utf-8"); url += "?" + paramString; HttpGet httpGet = new HttpGet(url); long startTime = System.currentTimeMillis(); HttpResponse httpResponse = httpClient.execute(httpGet); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); long elapsedTime = System.currentTimeMillis() - startTime; System.out.println("Total elapsed http request/response time in milliseconds: " + elapsedTime); } }catch (UnsupportedEncodingException e) { e.printStackTrace(); }catch (ClientProtocolException e) { e.printStackTrace (); }catch (IOException e) { e.printStackTrace(); } try { BufferedReader reader = new BufferedReader(new InputStreamReader( is, "iso-8859-1"),8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); json = sb.toString(); Log.d("Request attempt","JSON >>>" + json.toString()); } catch (Exception e) { Log.e("Buffer Error", "Error converting result" + e.toString()); } // try parse the string to a JSON object try { jObj = new JSONObject(json); } catch (JSONException e) { Log.e("JSON PArser", "Error Parsing data" + e.toString()); } return jObj; }
}
- Se esperaba BEGIN_OBJECT pero era BEGIN_ARRAY en la línea 1 columna 2 (edición pequeña)
- Cambio de Gson a Jackson para el análisis de JSON
- Convertir objeto complejo de Java en Json
- Análisis de JSON con Retrofit
- ¿Existe un límite de longitud de la clave (cadena) en el objeto JS?
- Enviar datos al servidor a través de JSON
- Cómo almacenar datos de JSON analizados en SQLite
- Envío de imágenes y videos al servidor en android
- Gson deJson () devuelve el objeto con atributos nulos
- Android JSON Jackson Tutorial
- JsonSubTypes, lista de objetos polimórficos y Parcelable
- Función de parada que llama en pestañas
- AFNetworking para Android
Vea a continuación el código que recibirá una idea acerca de cómo hacer esto.
long startTime = System.currentTimeMillis(); //Write this above before your httprequest HttpResponse httpResponse = httpClient.execute(httpGet); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); //After you get response long elapsedTime = System.currentTimeMillis() - startTime; System.out.println("Total elapsed http request/response time in milliseconds: " + elapsedTime);
Este código mediría el tiempo desde el momento en que comienza a escribir su solicitud hasta cuando termina de recibir la respuesta y muestra el resultado.
- Android onCreate () Método llamado dos veces cuando se gira el dispositivo. (ICS)
- Barra de estado de Android transparente cuando se utiliza AppTheme.NoActionBar