HttpParams和名称值对在Android Studio中已弃用

eqqqjvef  于 2022-11-03  发布在  Android
关注(0)|答案(4)|浏览(155)

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

xytpbqjk1#

Apache HTTP Client Removal 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'
}
hpxqektj

hpxqektj2#

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

compileSdkVersion 23

buildToolsVersion "22.0.1"

useLibrary 'org.apache.http.legacy'

...

}

uqcuzwp8

uqcuzwp83#

包含NameValuePairDefaultHttpClientHttpParams等的Apache httpclient模块从Android Api level 22 Lollipop 5.1及更高版本中已弃用,如果您仍希望在项目中使用这些弃用的类,请在应用的build.gradle文件中的android块内添加一行useLibrary 'org.apache.http.legacy'(如下所示)并同步项目

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

2mbi3lxu4#

实现'com.google. http-客户端:google-http-客户端-android:+'
实现'com.google. api客户端:google-api-客户端-android:+'
实现'com.google. http-客户端:google-http-客户端-gson:+'
在Gradle文件中添加此3
android { useLibrary 'org.apache.http.legacy' //add this one }

相关问题