【问题标题】:HttpParams & NameValuePair deprecated in Android StudioAndroid Studio 中不推荐使用 HttpParams 和 NameValuePair
【发布时间】:2015-10-08 12:49:04
【问题描述】:

我目前正在使用 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);

【问题讨论】:

  • 简单使用VolleyRetrofit..!!
  • 这是因为包org.apache.http不再包含在sdk 23+ - developer.android.com/about/versions/marshmallow/…
  • 如何替换我现有的代码以便我可以使用 Retrofit?...没有我可以调用的新库来调用这些方法吗?

标签: java android android-studio


【解决方案1】:

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'
}

【讨论】:

    【解决方案2】:

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

    安卓{

    compileSdkVersion 23
    
    buildToolsVersion "22.0.1"
    
    useLibrary 'org.apache.http.legacy'
    
    ...
    

    }

    【讨论】:

      【解决方案3】:

      包含NameValuePairDefaultHttpClientHttpParams 等的 Apache httpclient 模块从 Android Api 级别 22 Lollipop 5.1 起已弃用,如果您仍想在项目中使用这些已弃用的类,请添加一行 @987654324 @ 在你的应用程序的 build.gradle 文件中的 android 块内,如下所示并同步项目

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-06-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-26
        • 1970-01-01
        • 2015-03-26
        相关资源
        最近更新 更多