我目前正在使用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);
答案 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)
如果您仍想在项目中使用这些已弃用的类,那么包含NameValuePair
,DefaultHttpClient
,HttpParams
等的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'