android – 包org.apache.http不存在sdk 23

前端之家收集整理的这篇文章主要介绍了android – 包org.apache.http不存在sdk 23前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Apache HTTP connection with Android 6.0 (Marshmallow)2
升级到最新的sdk版本23.现在我的一些代码不再工作了.
这是我以前得到json的类:
public class Spots_tab1_json {
static String response = null;
public final static int GET = 1;
public final static int POST = 2;

public Spots_tab1_json() {

}
public String makeServiceCall(String url,int method) {
    return this.makeServiceCall(url,method,null);
}
public String makeServiceCall(String url,int method,List<NameValuePair> params) {
    try {
        DefaultHttpClient httpClient = new DefaultHttpClient();
        HttpEntity httpEntity = null;
        HttpResponse httpResponse = null;
        if (method == POST) {
            HttpPost httpPost = new HttpPost(url);
            httpPost.addHeader("Cache-Control","no-cache");
            if (params != null) {
                httpPost.setEntity(new UrlEncodedFormEntity(params,"UTF-8"));
            }
            httpResponse = httpClient.execute(httpPost);
        } else if (method == GET) {
            if (params != null) {
                String paramString = URLEncodedUtils.format(params,"UTF-8");
                url += "?" + paramString;
            }
            HttpGet httpGet = new HttpGet(url);
            httpGet.addHeader("Cache-Control","no-cache");
            httpResponse = httpClient.execute(httpGet);

        }
        httpEntity = httpResponse.getEntity();
        response = EntityUtils.toString(httpEntity);

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

    return response;

}

}

有没有替换?如果是,应该替换什么?

谢谢

解决方法

作为解决方法,将其添加到您的应用程序build.gradle中
android {
    useLibrary 'org.apache.http.legacy'
}

https://developer.android.com/preview/behavior-changes.html#behavior-apache-http-client

猜你在找的Android相关文章