Android Studio - 不推荐使用NameValuePair和HttpParams

时间:2015-07-15 15:35:17

标签: java android android-studio

我是Android开发的新手,我有一些弃用的问题。在Android Studio中,它声明已弃用NameValuePairHttpParams

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()的信息,但我不知道上述代码是如何应用的。

3 个答案:

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