我正在使用List <pair <string,string =“”>&gt;但是UrlEncodedFormEntity是一个不推荐使用的类,它使用namevaluepair

时间:2017-07-15 11:06:30

标签: android http-post

这是我的jsonparser类,我在httpPost.setEntity的params中遇到错误(new UrlEncodedFormEntity(params));

public class JSONParser {
  static InputStream is = null;
  static JSONObject jObj = null;
  static String json = "";
  public JSONParser() {
  }

  public JSONObject makeHttpRequest(String url, String method,  
  List<Pair<String,String>> params) {

    try {

        if (method == "GET") {

            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpPost httpPost = new HttpPost(url);
            httpPost.setEntity(new UrlEncodedFormEntity(params));
            HttpResponse httpResponse = httpClient.execute(httpPost);
            HttpEntity httpEntity = httpResponse.getEntity();
            is = httpEntity.getContent();

            } else if (method == "GET") {

            DefaultHttpClient httpClient = new DefaultHttpClient();
            String paramString = URLEncodedUtils.format(params, "utf-8");
            url += "?" + paramString;
            HttpGet httpGet = new HttpGet(url);
            HttpResponse httpResponse = httpClient.execute(httpGet);
            HttpEntity httpEntity = httpResponse.getEntity();
            is = httpEntity.getContent();
            }
       } catch (IOException e) {
        e.printStackTrace();
    }

  try {
        BufferedReader reader = new BufferedReader(new InputStreamReader(
                is, "UTF-8"), 8);
        StringBuilder sb = new StringBuilder();
        String line = null;
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
         }
        is.close();
        json = sb.toString();
      } catch (Exception e) {
        Log.e("Buffer Error", "Error converting result " + e.toString());
      }

    // try parse the string to a JSON object

    try {
        jObj = new JSONObject(json);
        } catch (JSONException e) {
        Log.e("JSON Parser", "Error parsing data " + e.toString());
        }

    // return JSON String

    return jObj;
}
}

这是我使用名称值对

的UrlEncodedFormEntity类
public class UrlEncodedFormEntity extends org.apache.http.entity.StringEntity         
{
   public UrlEncodedFormEntity(java.util.List<? extends 
   org.apache.http.NameValuePair> parameters, java.lang.String encoding) 
   throws java.io.UnsupportedEncodingException { /* compiled code */ }

   public UrlEncodedFormEntity(java.util.List<? extends 
   org.apache.http.NameValuePair> parameters) throws 
   java.io.UnsupportedEncodingException { /* compiled code */ }
}

0 个答案:

没有答案