HttpParams&在Android Studio中不推荐使用NameValuePair

时间:2015-10-08 12:49:04

标签: java android android-studio

我目前正在使用Android Studio开发登录和注册页面。我遇到了HttpParams和NameValuePair被弃用的问题。这是Android Studio 1.4。我可以为此导入库吗?

@Override
    protected Void doInBackground(Void... params) {
        ArrayList<NameValuePair> dataToSend = new ArrayList<>();
        dataToSend.add(new BasicNameValuerPair("name", user.name));
        dataToSend.add(new BasicNameValuerPair("username", user.username));
        dataToSend.add(new BasicNameValuerPair("password", user.password));

        HttpParams httpRequestParams = new BasicHttpParams();
        HttpConnectionParams.setConnectionTimeout(httpRequestParams, CONNECTION_TIMEOUT);

3 个答案:

答案 0 :(得分:0)

Apache HTTP客户端删除 Android 6.0版本删除了对Apache HTTP客户端的支持。如果您的应用使用此客户端并定位到Android 2.3(API级别9)或更高版本,请改用HttpURLConnection类。此API更高效,因为它通过透明压缩和响应缓存减少了网络使用,并最大限度地降低了功耗。

以下是使用新类的示例:

URL url = new URL("http://www.android.com/");
   HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
   try {
     InputStream in = new BufferedInputStream(urlConnection.getInputStream());
     readStream(in);
    finally {
     urlConnection.disconnect();
   }
}

要继续使用Apache HTTP API,必须首先在build.gradle文件中声明以下编译时依赖项:

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

答案 1 :(得分:0)

您必须在build.gradle文件中添加HttpClient的依赖项:

android {

REGEXP_REPLACE(col, '[^a-z ]','' , 1, 0, 'i')

}

答案 2 :(得分:0)

如果您仍想在项目中使用这些已弃用的类,那么包含NameValuePairDefaultHttpClientHttpParams等的Apache httpclient模块将从Android Api级别22 Lollipop 5.1开始弃用然后在android块中的app的build.gradle文件中添加一行useLibrary 'org.apache.http.legacy',如下所示,并同步项目

android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
useLibrary 'org.apache.http.legacy'