Java Android Studio-NameValuePair和HttpParams不推荐使用
我是Android开发新手,有一些不推荐的问题。在Android Studio中,它指出Java Android Studio-NameValuePair和HttpParams不推荐使用,java,android,android-studio,Java,Android,Android Studio,我是Android开发新手,有一些不推荐的问题。在Android Studio中,它指出NameValuePair和HttpParams已被弃用 ArrayList<NameValuePair> dataToSend = new ArrayList<>(); dataToSend.add(new BasicNameValuePair("fname", user.fname)); dataToSend.add(new BasicNameVal
NameValuePair
和HttpParams
已被弃用
ArrayList<NameValuePair> dataToSend = new ArrayList<>();
dataToSend.add(new BasicNameValuePair("fname", user.fname));
dataToSend.add(new BasicNameValuePair("lname", user.lname));
dataToSend.add(new BasicNameValuePair("email", user.email));
dataToSend.add(new BasicNameValuePair("password", user.password));
HttpParams httpRequestParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpRequestParams, CONNECTION_TIMEOUT);
HttpConnectionParams.setSoTimeout(httpRequestParams, CONNECTION_TIMEOUT);
HttpClient client = new DefaultHttpClient(httpRequestParams);
HttpPost post = new HttpPost(SERVER_ADDRESS + "register");
ArrayList dataToSend=new ArrayList();
添加(新的BasicNameValuePair(“fname”,user.fname));
添加(新的BasicNameValuePair(“lname”,user.lname));
添加(新的BasicNameValuePair(“email”,user.email));
添加(新的BasicNameValuePair(“密码”,user.password));
HttpParams httpRequestParams=新的BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpRequestParams,连接超时);
HttpConnectionParams.setSoTimeout(httpRequestParams,连接超时);
HttpClient客户端=新的默认HttpClient(httpRequestParams);
HttpPost=新的HttpPost(服务器地址+“寄存器”);
搜索答案时,我被发送到使用
openconnection()
,但我不知道这如何适用于上述代码。您是否尝试使用ContentValue
从这段代码中,我不确定它是否能帮助您
ContentValues values=new ContentValues();
values.put("fname",user.fname);
values.put("lname", user.lname);
values.put("email",user.email);
values.put("password",user.password);
您是否尝试使用ContentValues 从这段代码中,我不确定它是否能帮助您
ContentValues values=new ContentValues();
values.put("fname",user.fname);
values.put("lname", user.lname);
values.put("email",user.email);
values.put("password",user.password);
您必须在build.gradle文件中添加HttpClient的依赖项:
android {
compileSdkVersion 23
buildToolsVersion "22.0.1"
useLibrary 'org.apache.http.legacy'
...
}
您必须在build.gradle文件中添加HttpClient的依赖项:
android {
compileSdkVersion 23
buildToolsVersion "22.0.1"
useLibrary 'org.apache.http.legacy'
...
}
您可以根据自己的偏好使用contentvalues或hashmap 我使用了内容值
ContentValues contentValues = new ContentValues();
contentValues.put("key1","value1");
contentValues.put("key2","value2");
如果你发布的数据是表单数据,那么下面是你如何转换表单数据的方法
public String getFormData(ContentValues contentValues) throws UnsupportedEncodingException {
StringBuilder sb = new StringBuilder();
boolean first = true;
for (Map.Entry<String, Object> entry : contentValues.valueSet()) {
if (first)
first = false;
else
sb.append("&");
sb.append(URLEncoder.encode(entry.getKey(), "UTF-8"));
sb.append("=");
sb.append(URLEncoder.encode(entry.getValue().toString(), "UTF-8"));
}
return sb.toString();
}
公共字符串getFormData(ContentValues ContentValues)引发不受支持的编码异常{
StringBuilder sb=新的StringBuilder();
布尔值优先=真;
for(Map.Entry:contentValues.valueSet()){
如果(第一)
第一个=假;
其他的
某人附加(“&”);
sb.append(URLEncoder.encode(entry.getKey(),“UTF-8”);
某人加上(“=”);
sb.append(URLEncoder.encode(entry.getValue().toString(),“UTF-8”);
}
使某人返回字符串();
}
您可以根据自己的偏好使用ContentValue或hashmap
我使用了内容值
ContentValues contentValues = new ContentValues();
contentValues.put("key1","value1");
contentValues.put("key2","value2");
如果你发布的数据是表单数据,那么下面是你如何转换表单数据的方法
public String getFormData(ContentValues contentValues) throws UnsupportedEncodingException {
StringBuilder sb = new StringBuilder();
boolean first = true;
for (Map.Entry<String, Object> entry : contentValues.valueSet()) {
if (first)
first = false;
else
sb.append("&");
sb.append(URLEncoder.encode(entry.getKey(), "UTF-8"));
sb.append("=");
sb.append(URLEncoder.encode(entry.getValue().toString(), "UTF-8"));
}
return sb.toString();
}
公共字符串getFormData(ContentValues ContentValues)引发不受支持的编码异常{
StringBuilder sb=新的StringBuilder();
布尔值优先=真;
for(Map.Entry:contentValues.valueSet()){
如果(第一)
第一个=假;
其他的
某人附加(“&”);
sb.append(URLEncoder.encode(entry.getKey(),“UTF-8”);
某人加上(“=”);
sb.append(URLEncoder.encode(entry.getValue().toString(),“UTF-8”);
}
使某人返回字符串();
}
请为NameValuePair
和Httpclient
添加以下依赖项,以实现此功能
dependencies{
compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
}
请为
NameValuePair
和Httpclient
添加以下依赖项,以实现此功能
dependencies{
compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
}
这将有助于解决这一问题。HttpParams呢?我发誓是你编辑的,没有看到HttpParams。我认为有些图书馆肯定会帮助你做你想做的事情。对我来说,我所需要的一切都是改装。你到底需要什么?我需要将表单参数传递给web服务器上的api。然后还检索api的结果以显示在Android应用程序中。这将有助于解析NamValuePair。HttpParams呢?我发誓是你编辑的,没有看到HttpParams。我认为有些图书馆肯定会帮助你做你想做的事情。对我来说,我所需要的一切都是改装。你到底需要什么?我需要将表单参数传递给web服务器上的api。然后还检索api的结果以显示在Android应用程序中。