Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android Studio-NameValuePair和HttpParams不推荐使用_Java_Android_Android Studio - Fatal编程技术网

Java Android Studio-NameValuePair和HttpParams不推荐使用

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

我是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");
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应用程序中。