Defaulthttpclient is decrepated in Android app

Asked

Viewed 128 times

0

I’m doing a JSON integration in my application, but when I use DefaultHttpClientdisplays the message:

'org.apache.http.impl.client.Defaulthttpclient' is deprecated.

Follow the code below:

public class JsonClass {

    InputStream input = null;
    JSONObject jObect = null;
    String json = "";

    //Recebe sua url
    public JSONObject getJSONFromUrl(String url) {

        //HTTP request
        try {
            // default HttpClient
            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpPost httpPost = new HttpPost(url);

            HttpResponse httpResponse = httpClient.execute(httpPost);
            HttpEntity httpEntity = httpResponse.getEntity();
            input = httpEntity.getContent();

        } catch (UnsupportedEncodingException | ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(
                    input, "iso-8859-1"), 8);
            StringBuilder sb = new StringBuilder();
            String line = null;
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
            }
            input.close();
            json = sb.toString();
            Log.i("JRF", json);
        } catch (Exception e) {
            Log.e("Buffer Error", "Error converting result " + e.toString());
        }

        // Transforma a String de resposta em um JSonObject
        try {
            jObect = new JSONObject(json);
        } catch (JSONException e) {
            Log.e("JSON Parser", "Error parsing data " + e.toString());
        }

        // retorna o objeto
        return jObect;

    }
}

In some classes such as DefaultHttpClient, HttpPost, HttpResponse and so on, they appear scratched in the code, and they present this message.

  • 1

    Yes it is correct what it says, then what is your question?

  • Actually I wanted to know why this occurs, if it results in the project, because it presents error when trying to run the project with the above class.

  • 2

    Google recommends using the class HttpURLConnection in place of DefaultHttpClient from android Gingerbread as you can read in this post. However nothing prevents you from continuing to use the class DefaultHttpClient.

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.