已弃用NameValuePair

时间:2017-08-11 08:14:42

标签: android

以下是我的代码,其中显示弃用NameValuePairBasicNameValuePairHttpParamsHttpClientDefaultHttpClientHttpPost,UrlEncodedFormEntity

如何解决这个问题..?

下面的代码段

        ArrayList<NameValuePair> dataTosend = new ArrayList<>();
        dataTosend.add(new BasicNameValuePair("image" , encodedImage));
        dataTosend.add(new BasicNameValuePair("name" , name));


        HttpParams httpRequestParams = getHttpRequestParams();

        HttpClient client = new DefaultHttpClient(httpRequestParams);
        HttpPost post = new HttpPost(SERVER_ADDRESS + "savepicture.php");

        try{
            post.setEntity(new UrlEncodedFormEntity(dataTosend));
            client.execute(post);
        }
        catch (Exception e){
            e.printStackTrace();
        }

        return null;
    }


}

1 个答案:

答案 0 :(得分:0)

从Android6.0中删除它,如果你想使用它,那么在build.gradle中添加它

android {
    useLibrary 'org.apache.http.legacy'
}

但请尝试使用HttpUrlConnection,请参阅official doc

  

Android 6.0版本删除了对Apache HTTP客户端的支持。如果   您的应用正在使用此客户端并定位到Android 2.3(API级别9)或   更高,请改用HttpURLConnection类。这个API更多   高效,因为它通过透明减少网络使用   压缩和响应缓存,并最大限度地降低功耗。至   继续使用Apache HTTP API,您必须先声明   跟随build.gradle文件中的编译时依赖项:

或者您可以使用volleyretrofit