我是Android开发的新手,我有一些弃用的问题。在Android Studio中,它声明已弃用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");
在搜索答案时,我会收到使用openconnection()
的信息,但我不知道上述代码是如何应用的。
答案 0 :(得分:3)
您必须在build.gradle文件中添加HttpClient的依赖项:
TelephonyManager telephonyManager =
(TelephonyManager)getSystemService( Context.TELEPHONY_SERVICE );
String imei = telephonyManager.getDeviceId(0);
String imei1 = telephonyManager.getDeviceId(1);
答案 1 :(得分:1)
您可以根据自己的喜好使用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();
}
答案 2 :(得分:0)
请为NameValuePair
&amp;添加以下依赖项Httpclient
使这项工作成功。
dependencies{
compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
}